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中实现两个字典(dict)合并的方法
Sep 23 Python
Django发送html邮件的方法
May 26 Python
Python 操作文件的基本方法总结
Aug 10 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
Jan 08 Python
Flask框架信号用法实例分析
Jul 24 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
python3中property使用方法详解
Apr 23 Python
python自动发邮件总结及实例说明【推荐】
May 31 Python
Python如何调用外部系统命令
Aug 07 Python
Spring Cloud Feign高级应用实例详解
Dec 10 Python
Python文件操作函数用法实例详解
Dec 24 Python
Python实现爬取并分析电商评论
Jun 19 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
4月1日重磅发布!《星际争霸II》6.0.0版本更新
2020/04/09 星际争霸
php中文字母数字验证码实现代码
2008/04/25 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
PHP中phar包的使用教程
2017/06/14 PHP
jQuery对象和DOM对象相互转化
2009/04/24 Javascript
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
JQuery中$之选择器用法介绍
2011/04/05 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
详细谈谈AngularJS的子级作用域问题
2016/09/05 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
vue axios用法教程详解
2017/07/23 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
使用canvas进行图像编辑的实例
2017/08/29 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
JS实现灯泡开关特效
2020/03/30 Javascript
如何通过javaScript去除字符串两端的空白字符
2020/02/06 Javascript
[56:45]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第一局
2016/02/28 DOTA
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
Python 内置函数complex详解
2016/10/23 Python
分析Python中解析构建数据知识
2018/01/20 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
Python使用reportlab模块生成PDF格式的文档
2019/03/11 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
Python远程linux执行命令实现
2020/11/11 Python
HTML5新表单元素_动力节点Java学院整理
2017/07/12 HTML / CSS
html5-canvas中使用clip抠出一个区域的示例代码
2018/05/25 HTML / CSS
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
小学学习雷锋活动总结
2014/07/03 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL