python完成FizzBuzzWhizz问题(拉勾网面试题)示例

 更新时间:2014年05月05日 09:56:20   作者:  
这篇文章主要介绍了python完成FizzBuzzWhizz问题(拉勾网面试题)示例,需要的朋友可以参考下

拉勾网面试题

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反向传播实现线性回归步骤详细讲解

    回归是监督学习的一个重要问题,回归用于预测输入变量和输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值也随之发生变化。回归模型正是表示从输入变量到输出变量之间映射的函数
    2022-10-10
  • Python内存管理实例分析

    Python内存管理实例分析

    这篇文章主要介绍了Python内存管理,结合实例形式分析了Python对象的引用、垃圾回收、分配等相关原理与操作技巧,需要的朋友可以参考下
    2019-07-07
  • python路径的写法及目录的获取方式

    python路径的写法及目录的获取方式

    今天小编就为大家分享一篇python路径的写法及目录的获取方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Django values()和value_list()的使用

    Django values()和value_list()的使用

    这篇文章主要介绍了Django values()和value_list()的使用,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 使用python中的in ,not in来检查元素是不是在列表中的方法

    使用python中的in ,not in来检查元素是不是在列表中的方法

    今天小编就为大家分享一篇使用python中的in ,not in来检查元素是不是在列表中的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python递归实现链表快速倒转

    python递归实现链表快速倒转

    这篇文章主要为大家详细介绍了python递归实现链表快速倒转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 使用Python编写一个最基础的代码解释器的要点解析

    使用Python编写一个最基础的代码解释器的要点解析

    Python、Ruby等语言代码就是在解释器程序中一行行被解释为机器码同步执行的,而如果使用Python编写解释器的话则可以把目标代码解释为Python代码再进行解释执行,这里我们就来看一下使用Python编写一个最基础的代码解释器的要点解析:
    2016-07-07
  • Python练习-购物单

    Python练习-购物单

    这篇文章主要介绍了Python练习-购物单,下文主要以举例说明从问题描述开始,以及解题思路展开文章内容,作为日常学习小练习,需要的小伙伴可以参考一下
    2022-01-01
  • python中os.path.exits()的坑

    python中os.path.exits()的坑

    本文主要介绍了python中os.path.exits()的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • python字符串下标与切片及使用方法

    python字符串下标与切片及使用方法

    这篇文章主要介绍了python字符串下标与切片及使用方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论