使用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通过字典dict判断指定键值是否存在的方法
Mar 21 Python
python实现简单爬虫功能的示例
Oct 24 Python
详解Python的Lambda函数与排序
Oct 25 Python
python实现随机森林random forest的原理及方法
Dec 21 Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 Python
python保存数据到本地文件的方法
Jun 23 Python
Python使用tkinter模块实现推箱子游戏
Oct 08 Python
python3下pygame如何实现显示中文
Jan 11 Python
Python如何对齐字符串
Jul 30 Python
Python unittest装饰器实现原理及代码
Sep 08 Python
python操作链表的示例代码
Sep 27 Python
利用python 下载bilibili视频
Nov 13 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
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
php中对2个数组相加的函数
2011/06/24 PHP
xml在joomla表单中的应用详解分享
2012/07/19 PHP
php分页示例分享
2014/04/30 PHP
php 多文件上传的实现实例
2016/10/23 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
javascript 定义初始化数组函数
2009/09/07 Javascript
javascript Keycode对照表
2009/10/24 Javascript
基于jQuery的日期选择控件
2009/10/27 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
JavaScript中按位“异或”运算符使用介绍
2014/03/14 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
在vue项目中使用sass的配置方法
2018/03/20 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
[51:43]OG vs LGD 2018国际邀请赛淘汰赛BO3 第五场 8.26
2018/08/30 DOTA
使用python分析git log日志示例
2014/02/27 Python
Python实现读取文件最后n行的方法
2017/02/23 Python
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
Python中extend和append的区别讲解
2019/01/24 Python
Python OOP类中的几种函数或方法总结
2019/02/22 Python
python 初始化一个定长的数组实例
2019/12/02 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
Python列表倒序输出及其效率详解
2020/03/04 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
用 python 进行微信好友信息分析
2020/11/28 Python
《狼和小羊》教学反思
2014/04/20 职场文书
这样写python注释让代码更加的优雅
2021/06/02 Python