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网络编程之TCP通信实例和socketserver框架使用例子
Apr 25 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
解决python2.7用pip安装包时出现错误的问题
Jan 23 Python
Python OpenCV实现图片上输出中文
Jan 22 Python
python获取微信小程序手机号并绑定遇到的坑
Nov 19 Python
Pycharm 设置默认头的图文教程
Jan 17 Python
Python中的集合介绍
Jan 28 Python
Pyspark读取parquet数据过程解析
Mar 27 Python
Django获取model中的字段名和字段的verbose_name方式
May 19 Python
keras的三种模型实现与区别说明
Jul 03 Python
使用anaconda安装pytorch的实现步骤
Sep 03 Python
Django配置跨域并开发测试接口
Nov 04 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魔术变量用法实例详解
2014/11/13 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
javascript 全角转换实现代码
2009/07/17 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
2014/10/17 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
jQuery前端开发35个小技巧
2016/05/24 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
javascript 中的console.log和弹出窗口alert
2016/08/30 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
2019/09/09 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
十个Python程序员易犯的错误
2015/12/15 Python
Python中取整的几种方法小结
2017/01/06 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
详解python读取image
2019/04/03 Python
python tkinter实现界面切换的示例代码
2019/06/14 Python
详解python解压压缩包的五种方法
2019/07/05 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
HTML5 Canvas实现放大镜效果示例
2020/03/25 HTML / CSS
台湾线上百货零售购物平台:friDay购物
2017/08/18 全球购物
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
高中生物教学反思
2014/02/05 职场文书
中国梦演讲稿5分钟
2014/08/19 职场文书
关于运动会广播稿300字
2014/10/05 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
网吧管理制度范本
2015/08/05 职场文书
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
一文带你探究MySQL中的NULL
2021/11/11 MySQL