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中实现三目运算的方法
Jun 21 Python
Django的session中对于用户验证的支持
Jul 23 Python
python实现数据预处理之填充缺失值的示例
Dec 22 Python
django数据库migrate失败的解决方法解析
Feb 08 Python
linux查找当前python解释器的位置方法
Feb 20 Python
对python 中class与变量的使用方法详解
Jun 26 Python
Django 用户认证组件使用详解
Jul 23 Python
将python安装信息加入注册表的示例
Nov 20 Python
简单了解python元组tuple相关原理
Dec 02 Python
基于SpringBoot构造器注入循环依赖及解决方式
Apr 26 Python
Python xlwings插入Excel图片的实现方法
Feb 26 Python
利用 Python 的 Pandas和 NumPy 库来清理数据
Apr 13 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
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
PHP操作数组的一些函数整理介绍
2011/07/17 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
php时间函数用法分析
2016/05/28 PHP
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
JavaScript的变量作用域深入理解
2009/10/25 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
详解webpack进阶之loader篇
2017/08/23 Javascript
JavaScript 对引擎、运行时、调用堆栈的概述理解
2018/10/22 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
ES6 新增的创建数组的方法(小结)
2019/08/01 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
python新手经常遇到的17个错误分析
2014/07/30 Python
遍历python字典几种方法总结(推荐)
2016/09/11 Python
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
python自动保存百度盘资源到百度盘中的实例代码
2019/08/26 Python
python迭代器常见用法实例分析
2019/11/22 Python
django中related_name的用法说明
2020/05/20 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
在什么时候需要使用"常引用"
2015/12/31 面试题
数据库基础的一些面试题
2012/02/25 面试题
工业设计专业推荐信
2013/10/29 职场文书
煤矿班组长岗位职责
2013/12/29 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
企业员工薪酬方案
2014/06/04 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
幼儿教师辞职信
2015/02/27 职场文书
保研导师推荐信
2015/03/25 职场文书
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js
MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
2022/12/24 MySQL