使用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中的__init__和__new__
Mar 12 Python
Python中使用装饰器来优化尾递归的示例
Jun 18 Python
详解Python中的from..import绝对导入语句
Jun 21 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
Nov 30 Python
使用pandas read_table读取csv文件的方法
Jul 04 Python
python实现windows壁纸定期更换功能
Jan 21 Python
Python Django基础二之URL路由系统
Jul 18 Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 Python
关于sys.stdout和print的区别详解
Dec 05 Python
PyTorch加载预训练模型实例(pretrained)
Jan 17 Python
matplotlib基础绘图命令之errorbar的使用
Aug 13 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 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面向对象分析设计的61条军规小结
2010/07/17 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
Prototype Selector对象学习
2009/07/23 Javascript
jQuery.extend 函数的详细用法
2012/06/27 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
介绍Python中几个常用的类方法
2015/04/08 Python
Python使用metaclass实现Singleton模式的方法
2015/05/05 Python
python遍历目录的方法小结
2016/04/28 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
中国茶叶、茶具一站式网上购物商城:醉品茶城
2018/07/03 全球购物
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
出国导师推荐信
2014/01/16 职场文书
假面舞会策划方案
2014/05/29 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
2014年店长工作总结
2014/11/17 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
孝女彩金观后感
2015/06/10 职场文书
2019年浪漫婚礼证婚词
2019/06/27 职场文书
导游词之广西漓江
2019/11/02 职场文书
MySql开发之自动同步表结构
2021/05/28 MySQL