python完成FizzBuzzWhizz问题(拉勾网面试题)示例


Posted in Python onMay 05, 2014

拉勾网面试题

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 相关文章推荐
跟老齐学Python之用while来循环
Oct 02 Python
详解Python设计模式编程中观察者模式与策略模式的运用
Mar 02 Python
Python字符串格式化输出方法分析
Apr 13 Python
Python设计足球联赛赛程表程序的思路与简单实现示例
Jun 28 Python
基于python 爬虫爬到含空格的url的处理方法
May 11 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
对Django 中request.get和request.post的区别详解
Aug 12 Python
Python在OpenCV里实现极坐标变换功能
Sep 02 Python
Python实现快速排序的方法详解
Oct 25 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
Jul 09 Python
java字符串格式化输出实例讲解
Jan 06 Python
使用python实现拉钩网上的FizzBuzzWhizz问题示例
May 05 #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
You might like
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
选择PHP作为网站开发语言的原因分享
2012/01/03 PHP
提高PHP编程效率的方法
2013/11/07 PHP
smarty中常用方法实例总结
2015/08/07 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
Extjs学习笔记之二 初识Extjs之Form
2010/01/07 Javascript
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
jquery多浏览器捕捉回车事件代码
2010/06/22 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
jquery+css实现动感的图片切换效果
2015/11/25 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
Three.js加载外部模型的教程详解
2017/11/10 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
在react-antd中弹出层form内容传递给父组件的操作
2020/10/24 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
[01:09:19]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第二场 2月28日
2021/03/11 DOTA
关于Tensorflow分布式并行策略
2020/02/03 Python
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
小学六一主持词开场白
2015/05/28 职场文书
力克胡哲观后感
2015/06/10 职场文书
行政处罚告知书
2015/07/01 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书