使用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生成数字图片代码分享
Oct 31 Python
Python2.7+pytesser实现简单验证码的识别方法
Dec 29 Python
Python基于更相减损术实现求解最大公约数的方法
Apr 04 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
Jun 25 Python
Python二进制串转换为通用字符串的方法
Jul 23 Python
python实现AES和RSA加解密的方法
Mar 28 Python
Python3.0中普通方法、类方法和静态方法的比较
May 03 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
Jun 03 Python
详解python调用cmd命令三种方法
Jul 08 Python
PyTorch中topk函数的用法详解
Jan 02 Python
python实现门限回归方式
Feb 29 Python
详解Python中的Lock和Rlock
Jan 26 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生成静态页的实现方法
2013/05/10 PHP
PHP中异常处理的一些方法整理
2015/07/03 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
nginx 设置多个站跨域
2021/03/09 Servers
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
使用js画图之圆、弧、扇形
2015/01/12 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2016/06/23 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
2016/12/06 Javascript
vue.js指令v-model使用方法
2017/03/20 Javascript
jQuery实现动态给table赋值的方法示例
2017/07/04 jQuery
vue后台管理之动态加载路由的方法
2018/08/13 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
2020/02/06 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
2020/05/12 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
利用python实现在微信群刷屏的方法
2019/02/21 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
Python整数对象实现原理详解
2019/07/01 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
python 普通克里金(Kriging)法的实现
2019/12/19 Python
解决python运行启动报错问题
2020/06/01 Python
Python 操作 MySQL数据库
2020/09/18 Python
德国团购网站:Groupon德国
2018/03/13 全球购物
请解释一下webService? 如何用.net实现webService
2014/06/09 面试题
网络营销策划方案
2014/06/04 职场文书
2015年导购员工作总结
2015/04/25 职场文书
vue elementUI批量上传文件
2022/04/26 Vue.js