使用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实现baidu hi自动登录的代码
Feb 10 Python
Python使用正则表达式实现文本替换的方法
Apr 18 Python
TensorFlow损失函数专题详解
Apr 26 Python
浅谈DataFrame和SparkSql取值误区
Jun 09 Python
python使用rpc框架gRPC的方法
Aug 24 Python
python 实现手机自动拨打电话的方法(通话压力测试)
Aug 08 Python
python判断自身是否正在运行的方法
Aug 08 Python
Python统计分析模块statistics用法示例
Sep 06 Python
python-docx文件定位读取过程(尝试替换)
Feb 13 Python
Python实现子类调用父类的初始化实例
Mar 12 Python
Python %r和%s区别代码实例解析
Apr 03 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
Apr 21 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中PDO的事务处理分析
2016/04/07 PHP
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
Bootstrap源码解读网格系统(3)
2016/12/22 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
Vue.js更改调试地址端口号的实例
2018/09/19 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
vue 解决数组赋值无法渲染在页面的问题
2019/10/28 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
详解Python中的序列化与反序列化的使用
2015/06/30 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
2018/12/11 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
Java语言程序设计测试题判断题部分
2013/01/06 面试题
德尔福集团DELPHI的笔试题
2012/02/22 面试题
《明天,我们毕业》教学反思
2014/04/24 职场文书
销售岗位职责范本
2014/06/12 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
村级个人对照检查材料
2014/08/22 职场文书
综治工作汇报材料
2014/10/27 职场文书
小学教师年度个人总结
2015/02/05 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang