使用python实现拉钩网上的FizzBuzzWhizz问题示例
发布时间:2021-06-18 08:41:38
最近好多分享这个问题的代码,题目说的是用面向对象或者函数式编程,下面是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()


猜你喜欢
- 前天不小心把硬盘格式化了,丢了好多照片,后来用Recuva这款软件成功把文件恢复过来,可是恢复的文件中有好多重复的文件和无法打开的图片,所以
- 解析器解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己想要的数据类型的过程.本质就是对请求体中的数据进行解析.Content-
- 代码如下:from PIL import Image #图像处理模块import numpy as npa = np.asarr
- 1.初探刚开始接触go时,以为import自定义包与Java工程类似,在非GOPATH的路径中新建了一个go项目HelloGo,如下:接下来
- 本文实例为大家分享了python实现维吉尼亚算法的具体代码,供大家参考,具体内容如下1 Virginia加密算法、解密算法Vigenenre
- 一、环境由于这学期开了图像处理这门课,所以想着在各种实验开始之前自己先动手试一下图像处理那首先要配个环境嘛,配环境真的是我长久以来的噩梦了,
- 其实很简单,用len函数:>>> array = [0,1,2,3,4,5] >>> print len
- 在当前的Web设计中,jQuery被越来越多地应用在Web开发中,之所以jQuery收到如此程度的欢迎,除了其本身具备的优秀易读易操作的代码
- python 获取星期字符串程序如下#WeekNamePrintV1.pyweekStr="星期一星期二星期三星期四星期五星期六星
- 默认情况下,Map输出的结果会对Key进行默认的排序,但是有时候需要对Key排序的同时还需要对Value进行排序,这时候就要用到二次排序了。
- 近期在使用bootstrap这个优秀的前端框架,这个框架非常强大,框架里面有下
- 一、前期准备CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT,
- 1000块钱做个百度?能提出这种要求的客户实乃乙方克星、民族之光、科创永动机、西虹市一大杰出青年,诺奖永远得不到的人才。但作为一个硬核的程序
- 生活中,我们在登录微博,邮箱的时候,常常会碰到验证码。在工作时,如果想要爬取一些数据,也会碰到验证码的阻碍。本次试验将带领大家认识验证码的一
- 1.如果有ID字段,就是具有唯一性的字段 代码如下:delect table where id not in ( select max(id
- 大家都知道,Dreamweaver是是一款专业的网页设计工具,提供了许多方便、实用的功能,使得以前许多网页效果的实现从繁琐的代码
- 在Keras中有两种深度学习的模型:序列模型(Sequential)和通用模型(Model)。差异在于不同的拓扑结构。序列模型 Sequen
- 这篇文章主要介绍了Python for循环通过序列索引迭代过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 本文实例讲述了Python求两个文本文件以行为单位的交集、并集与差集的方法。分享给大家供大家参考。具体实现方法如下:s1 = set(ope
- 什么是转义字符在 HTML 中 <、>、& 等字符有特殊含义(<,> 用于标签中,& 用于转义),他