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使用PyGreSQL操作PostgreSQL数据库教程
Jul 30 Python
Python使用ftplib实现简易FTP客户端的方法
Jun 03 Python
使用matplotlib画散点图的方法
May 25 Python
python批量下载网站马拉松照片的完整步骤
Dec 05 Python
详解numpy.meshgrid()方法使用
Aug 01 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
Dec 13 Python
关于tf.reverse_sequence()简述
Jan 20 Python
python实现密码强度校验
Mar 18 Python
Python3 中sorted() 函数的用法
Mar 24 Python
python实现飞船大战
Apr 24 Python
Python的信号库Blinker用法详解
Dec 31 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
如何使用脚本模仿登陆过程
2006/11/22 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
2014/06/09 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
ext实现完整的登录代码
2008/08/08 Javascript
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
2013/06/28 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
微信小程序template模板实例详解
2017/10/27 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
python传递参数方式小结
2015/04/17 Python
python操作redis数据库的三种方法
2020/09/10 Python
C#面试题
2016/05/06 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
结构工程个人自荐信范文
2013/11/30 职场文书
中国梦演讲稿教师篇
2014/04/23 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
2014年信访工作总结
2014/11/17 职场文书
六年级学生评语大全
2014/12/26 职场文书
2015年组织委员工作总结
2015/04/23 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python
前端JavaScript大管家 package.json
2021/11/02 Javascript
Python中第三方库Faker的使用详解
2022/04/02 Python