使用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实现ip查询示例
Mar 26 Python
Python and、or以及and-or语法总结
Apr 14 Python
在Lighttpd服务器中运行Django应用的方法
Jul 22 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
Python global全局变量函数详解
Sep 18 Python
python 判断linux进程,并杀死进程的实现方法
Jul 01 Python
对Django外键关系的描述
Jul 26 Python
Python 异步协程函数原理及实例详解
Nov 13 Python
Django model.py表单设置默认值允许为空的操作
May 19 Python
在Python中实现字典反转案例
Dec 05 Python
python的dict判断key是否存在的方法
Dec 09 Python
解决pytorch 模型复制的一些问题
Mar 03 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的memory_limit限制的方法分享
2012/02/21 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
PHP将XML转数组过程详解
2013/11/13 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
2017/04/19 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
vue中component组件的props使用详解
2017/09/04 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
bootstrap Table的一些小操作
2017/11/01 Javascript
javascript中floor使用方法总结
2019/02/02 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
js实现无缝轮播图特效
2020/05/09 Javascript
[55:44]完美世界DOTA2联赛决赛 FTD vs Phoenix 第二场 11.08
2020/11/11 DOTA
在Python的Flask框架中实现单元测试的教程
2015/04/20 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
浅谈pandas用groupby后对层级索引levels的处理方法
2018/11/06 Python
python reverse反转部分数组的实例
2018/12/13 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
python中spy++的使用超详细教程
2021/01/29 Python
幼儿园教师岗位职责
2014/03/17 职场文书
史学专业毕业生求职信
2014/05/09 职场文书
机关保密承诺书
2014/06/03 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
小学四年级学生评语
2014/12/26 职场文书
音乐教师个人工作总结
2015/02/06 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
golang中的空slice案例
2021/04/27 Golang