使用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多线程编程(八):使用Event实现线程间通信
Apr 05 Python
Python机器学习算法之k均值聚类(k-means)
Feb 23 Python
python3 对list中每个元素进行处理的方法
Jun 29 Python
python ipset管理 增删白名单的方法
Jan 14 Python
django模板加载静态文件的方法步骤
Mar 01 Python
pandas中DataFrame修改index、columns名的方法示例
Aug 02 Python
Django如何实现网站注册用户邮箱验证功能
Aug 14 Python
Numpy之将矩阵拉成向量的实例
Nov 30 Python
python:目标检测模型预测准确度计算方式(基于IoU)
Jan 18 Python
python实现字符串和数字拼接
Mar 02 Python
django 连接数据库出现1045错误的解决方式
May 14 Python
Pyqt助手安装PyQt5帮助文档过程图解
Nov 20 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
239军机修复记
2021/03/02 无线电
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
浅谈php7的重大新特性
2015/10/23 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
php中如何执行linux命令详解
2018/11/06 PHP
js自带函数备忘 数组
2006/12/29 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
2016/01/27 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
Node.JS文件系统解析实例详解
2017/05/15 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
探讨Vue.js的组件和模板
2017/10/27 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
2019/07/18 Javascript
python实现查询苹果手机维修进度
2015/03/16 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
Pycharm2020.1安装无法启动问题即设置中文插件的方法
2020/08/07 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-> (一千零一拾一元整)输出
2015/05/29 面试题
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
党员廉洁自律承诺书
2014/05/26 职场文书
新学期感想
2015/08/10 职场文书
生日宴会祝酒词
2015/08/10 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书
HAM-2000摩机图
2021/04/22 无线电
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏