使用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 相关文章推荐
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
利用python实现在微信群刷屏的方法
Feb 21 Python
深入解析神经网络从原理到实现
Jul 26 Python
pytorch 加载(.pth)格式的模型实例
Aug 20 Python
Python 取numpy数组的某几行某几列方法
Oct 24 Python
Python类反射机制使用实例解析
Dec 30 Python
关于pytorch中全连接神经网络搭建两种模式详解
Jan 14 Python
django有外键关系的两张表如何相互查找
Feb 10 Python
python nohup 实现远程运行不宕机操作
Apr 16 Python
解决更改AUTH_USER_MODEL后出现的问题
May 14 Python
Python3爬虫关于识别检验滑动验证码的实例
Jul 30 Python
Django模型验证器介绍与源码分析
Sep 08 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 Image Resize图片大小调整的函数代码
2011/01/17 PHP
php设计模式 Decorator(装饰模式)
2011/06/26 PHP
PHP通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
PHP面向对象教程之自定义类
2014/06/10 PHP
JavaScript创建命名空间的5种写法
2014/06/24 PHP
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
php中的依赖注入实例详解
2019/08/14 PHP
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
js获取url参数值的两种方式
2013/09/10 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
js动态添加表格数据使用insertRow和insertCell实现
2014/05/22 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
基于jquery实现百度新闻导航菜单滑动动画
2016/03/15 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
关于webpack代码拆分的解析
2017/07/20 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
Python实现GIF图倒放
2020/07/16 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
来自全球大都市的高级街头服饰:Pegador
2018/01/03 全球购物
蜜蜂引路教学反思
2014/02/04 职场文书
搞笑爱情保证书
2014/04/29 职场文书
公安学专业求职信
2014/07/27 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
Python中使用Lambda函数的5种用法
2021/04/01 Python
java实现对Hadoop的操作
2021/07/01 Java/Android
python playwrigh框架入门安装使用
2022/07/23 Python