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使用scrapy采集数据过程中放回下载过大页面的方法
Apr 08 Python
浅析Python3爬虫登录模拟
Feb 07 Python
解决Python3中的中文字符编码的问题
Jul 18 Python
Windows下PyCharm安装图文教程
Aug 27 Python
对python Tkinter Text的用法详解
Oct 11 Python
Python并发:多线程与多进程的详解
Jan 24 Python
numpy数组广播的机制
Jul 12 Python
Django Rest framework认证组件详细用法
Jul 25 Python
Python 求数组局部最大值的实例
Nov 26 Python
Python 面向对象部分知识点小结
Mar 09 Python
如何基于线程池提升request模块效率
Apr 18 Python
序列化Python对象的方法
Aug 01 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
set_include_path在win和linux下的区别
2008/01/10 PHP
php替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
javascript 浏览器检测代码精简版
2010/03/04 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
简单的Jquery全选功能
2013/11/07 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
Google 地图获取API Key详细教程
2016/08/06 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
Python中type的构造函数参数含义说明
2015/06/21 Python
python字符串的常用操作方法小结
2016/05/21 Python
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
十行代码使用Python写一个USB病毒
2019/06/21 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
Python 实现简单的客户端认证
2020/07/29 Python
python装饰器三种装饰模式的简单分析
2020/09/04 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
allbeauty美国:英国在线美容店
2019/03/11 全球购物
英国蛋糕装饰用品一站式商店:Craft Company
2019/03/18 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
专业销售业务员求职信
2013/11/18 职场文书
清洁工岗位职责
2014/01/29 职场文书
顶撞老师检讨书
2014/02/07 职场文书
《小草和大树》教学反思
2014/02/16 职场文书
财政专业求职信范文
2014/02/19 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
党委班子纠正“四风”问题整改措施
2014/10/28 职场文书
MySQL中的隐藏列的具体查看
2021/09/04 MySQL
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle