使用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实现telnet服务器的方法
Jul 10 Python
python xlsxwriter创建excel图表的方法
Jun 11 Python
Flask框架通过Flask_login实现用户登录功能示例
Jul 17 Python
Python使用try except处理程序异常的三种常用方法分析
Sep 05 Python
python浪漫表白源码
Apr 05 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 Python
教你如何编写、保存与运行Python程序的方法
Jul 12 Python
python+selenium 鼠标事件操作方法
Aug 24 Python
Python读取yaml文件的详细教程
Jul 21 Python
pandas实现导出数据的四种方式
Dec 13 Python
python实现简单的学生管理系统
Feb 22 Python
python获取带有返回值的多线程
May 02 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
Sony CFR 320 修复改造
2020/03/14 无线电
PHP在字符断点处截断文字的实现代码
2011/04/21 PHP
浅析PHP文件下载原理
2014/12/25 PHP
理解JavaScript的prototype属性
2012/02/11 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
javascript实现youku的视频代码自适应宽度
2015/05/25 Javascript
纯js实现无限空间大小的本地存储
2015/06/18 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
详解JS中的this、apply、call、bind(经典面试题)
2017/09/19 Javascript
Koa2微信公众号开发之消息管理
2018/05/16 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
python数据结构之图的实现方法
2015/07/08 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
Django框架视图函数设计示例
2019/07/29 Python
在Python中画图(基于Jupyter notebook的魔法函数)
2019/10/28 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
关于Tensorflow分布式并行策略
2020/02/03 Python
python获取依赖包和安装依赖包教程
2020/02/13 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
新西兰最大的品牌运动鞋购物网站:Platypus NZ
2017/10/27 全球购物
2014第二批党员干部对照“四风”找差距检查材料思想汇报
2014/09/18 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
技术员岗位职责
2015/02/04 职场文书
2015年护士节慰问信
2015/03/23 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书