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实现拉钩网上的FizzBuzzWhizz问题示例
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@