使用python实现拉钩网上的FizzBuzzWhizz问题示例


Posted in Python onMay 05, 2014

最近好多分享这个问题的代码,题目说的是用面向对象或者函数式编程,下面是PYTHON的实现示例

#!/usr/bin/python
#encoding:utf8
'''
The Game of "FizzBuzzWhizz"
author : wang.jiankui89@gmail.com
mobile : 130-2199-5152
'''
import sys
class teacher:
    def __init__(self, student_num):
        self.student_num = student_num
    def gameStart(self, numList):
        for i in range (1, self.student_num + 1):
            stu = student(i) 
            print stu.answer(numList)
class student:
    def __init__(self, my_num):
        self.my_num = my_num
    def judgeMod(self, numList):
        modRes = ""
        for num in numList:
            if self.my_num % num == 0:
                modRes += rule[num]
        return modRes if modRes else self.my_num
    def judgeContain(self, first_num):
        conRes = ""
        if str(first_num) in str(self.my_num) :
            conRes = rule[first_num]
        return conRes
    def answer(self, numList):
        conRes = self.judgeContain(numList[0])
        return conRes if conRes else self.judgeMod(numList)
def getOps():
    '''parse options'''
    if len(sys.argv) != 4 :
        print "use as fizzBuzzWhizz.py [0-9] [0-9] [0-9]"
        sys.exit()
    else:
        first_num = int(sys.argv[1])
        second_num = int(sys.argv[2])
        third_num = int(sys.argv[3])
    return first_num, second_num, third_num 
def main():
    first_num, second_num, third_num = getOps()
    global rule 
    rule = {first_num:"Fizz", second_num:"Buzz", third_num:"Whizz"}
    student_num = 100
    tea = teacher(100)
    tea.gameStart( (first_num, second_num, third_num) )
if __name__ == "__main__":
    main()
Python 相关文章推荐
在Python中处理字符串之ljust()方法的使用简介
May 19 Python
在Python的Django框架中创建和使用模版
Jul 15 Python
定制FileField中的上传文件名称实例
Aug 23 Python
Python实现邮件的批量发送的示例代码
Jan 23 Python
python xpath获取页面注释的方法
Jan 14 Python
Python socket模块ftp传输文件过程解析
Nov 05 Python
python ubplot使用方法解析
Jan 10 Python
Python使用turtle库绘制小猪佩奇(实例代码)
Jan 16 Python
基于Python绘制个人足迹地图
Jun 01 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
Jun 02 Python
tensorflow 大于某个值为1,小于为0的实例
Jun 30 Python
python实现mask矩阵示例(根据列表所给元素)
Jul 30 Python
python通过scapy获取局域网所有主机mac地址示例
May 04 #Python
python使用内存zipfile对象在内存中打包文件示例
Apr 30 #Python
python数据结构之二叉树的统计与转换实例
Apr 29 #Python
python数据结构之二叉树的遍历实例
Apr 29 #Python
python数据结构之二叉树的建立实例
Apr 29 #Python
python数据结构树和二叉树简介
Apr 29 #Python
Python的ORM框架SQLAlchemy入门教程
Apr 28 #Python
You might like
PHP Pear 安装及使用
2009/03/19 PHP
php学习笔记 PHP面向对象的程序设计
2011/06/13 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
php递归实现无限分类的方法
2015/07/28 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
javascript判断单选框或复选框是否选中方法集锦
2007/04/04 Javascript
Javascript与flash交互通信基础教程
2008/08/07 Javascript
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
Jquery下的26个实用小技巧(jQuery tips, tricks & solutions)
2010/03/01 Javascript
JS 有名函数表达式全面解析
2010/03/19 Javascript
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
使用jQuery将多条数据插入模态框的实现代码
2014/10/08 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
2016/01/29 Javascript
jQuery实现按比例缩放图片的方法
2017/04/29 jQuery
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
python模拟enum枚举类型的方法小结
2015/04/30 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
Python Socket TCP双端聊天功能实现过程详解
2020/06/15 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
python实现启动一个外部程序,并且不阻塞当前进程
2020/12/05 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
大型活动策划方案
2014/01/12 职场文书
环保公益广告语
2014/03/13 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
2016年会开场白台词
2015/06/01 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python