python完成FizzBuzzWhizz问题(拉勾网面试题)示例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python完成FizzBuzzWhizz问题(拉勾网面试题)示例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1494字,纯文字阅读大概需要3分钟。
内容图文
![python完成FizzBuzzWhizz问题(拉勾网面试题)示例](/upload/InfoBanner/zyjiaocheng/436/cad03052110244aea346d1c18a50bf8e.jpg)
1. 你首先说出三个不同的特殊数,要求必须是个位数,比如3、5、7。
2. 让所有学生拍成一队,然后按顺序报数。
3. 学生报数时,如果所报数字是第一个特殊数(3)的倍数,那么不能说该数字,而要说Fizz;如果所报数字是第二个特殊数(5)的倍数,那么要说Buzz;如果所报数字是第三个特殊数(7)的倍数,那么要说Whizz。
4. 学生报数时,如果所报数字同时是两个特殊数的倍数情况下,也要特殊处理,比如第一个特殊数和第二个特殊数的倍数,那么不能说该数字,而是要说FizzBuzz, 以此类推。如果同时是三个特殊数的倍数,那么要说FizzBuzzWhizz。
5. 学生报数时,如果所报数字包含了第一个特殊数,那么也不能说该数字,而是要说相应的单词,比如本例中第一个特殊数是3,那么要报13的同学应该说Fizz。如果数字中包含了第一个特殊数,那么忽略规则3和规则4,比如要报35的同学只报Fizz,不报BuzzWhizz。
现在,我们需要你完成一个程序来模拟这个游戏,它首先接受3个特殊数,然后输出100名学生应该报数的数或单词。
代码如下:
def check(a, dic, d):
answer = ''
if str(a) in str(d):
return dic[a]
for x in dic:
if not (d % x):
answer = answer + dic[x]
if not answer:
return d
return answer
if __name__ == '__main__':
a = int(raw_input('input u a: '))
b = int(raw_input('input u b: '))
c = int(raw_input('input u c: '))
dic = {a: 'Fizz', b: 'Buzz', c: 'Whizz'}
for x in xrange(1, 101):
print check(a, dic, x)
代码如下:
['Fizz'[(str(3)not in str(i))*4:]or 'Fizz'[i % 3 * 5 : ] + 'Buzz'[i % 5 * 5 : ] + 'Whizz'[i % 7 * 5 : ] or i for i in range(1,101)]
内容总结
以上是互联网集市为您收集整理的python完成FizzBuzzWhizz问题(拉勾网面试题)示例全部内容,希望文章能够帮你解决python完成FizzBuzzWhizz问题(拉勾网面试题)示例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。