使用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利用pyHook实现监听用户鼠标与键盘事件
Aug 21 Python
python实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
Python返回真假值(True or False)小技巧
Apr 10 Python
Python 统计字数的思路详解
May 08 Python
python实现电子产品商店
Feb 26 Python
解决django服务器重启端口被占用的问题
Jul 26 Python
python字典的常用方法总结
Jul 31 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 Python
Python安装与卸载流程详细步骤(图解)
Feb 20 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
Jul 09 Python
python 爬取英雄联盟皮肤并下载的示例
Dec 04 Python
C站最全Python标准库总结,你想要的都在这里
Jul 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
ZF等常用php框架中存在的问题
2008/01/10 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
2013/06/28 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
vue-cli3.0 特性解读
2018/04/22 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
鸿蒙系统中的 JS 开发框架
2020/09/18 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
[00:58]他们到底在电话里听到了什么?
2017/11/21 DOTA
Python中如何获取类属性的列表
2016/12/26 Python
python爬虫使用cookie登录详解
2017/12/27 Python
python微信公众号开发简单流程
2018/03/23 Python
对python中的logger模块全面讲解
2018/04/28 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
Django 批量插入数据的实现方法
2020/01/12 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
Python 如何调试程序崩溃错误
2020/08/03 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
英国珠宝和手表专家:Pleasance & Harper
2020/10/21 全球购物
2014年教研组工作总结
2014/11/26 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书
2016基督教会圣诞节开幕词
2016/03/04 职场文书
分家协议书范本
2016/03/22 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书
详解Laravel框架的依赖注入功能
2021/05/27 PHP
详解Java实现数据结构之并查集
2021/06/23 Java/Android