使用python实现拉钩网上的FizzBuzzWhizz问题示例_python教程-查字典教程网
使用python实现拉钩网上的FizzBuzzWhizz问题示例
使用python实现拉钩网上的FizzBuzzWhizz问题示例
发布时间:2016-12-28 来源:查字典编辑
摘要:最近好多分享这个问题的代码,题目说的是用面向对象或者函数式编程,下面是PYTHON的实现示例复制代码代码如下:#!/usr/bin/pyth...

最近好多分享这个问题的代码,题目说的是用面向对象或者函数式编程,下面是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学习
    脚本专栏子分类