基于此
FizzBuzz:对于不超过 100 的整数,如果整数可以被 3 和 5 (15) 整除,则打印 FizzBuzz;如果它可以被 3(而不是 5)整除,则发出嘶嘶声;嗡嗡声,如果它可以被 5(而不是 3)整除;否则为整数。
def FizzBuzz():
for i in range(1,101):
print {
3 : "Fizz",
5 : "Buzz",
15 : "FizzBuzz"}.get(15*(not i%15) or
5*(not i%5 ) or
3*(not i%3 ), '{}'.format(i))
该.get()
方法在这里创造了奇迹。
操作如下
对于从 1 到 100 的所有整数(不包括 101),
根据这些规则打印我们通过 get 调用的字典键的值。
“获取调用中的第一个非 False 项get
,或将整数作为字符串返回。”
在检查一个True
值时,即我们可以查找的值时,Python 将 0 评估为False
. 如果 i mod 15 = 0,则为 False,我们将转到下一个。
因此我们NOT
每个'mods'(又名余数),所以如果mod == 0,which == False,我们得到一个True 语句。我们乘以True
返回字典键的字典键(即3*True == 3
)
当整数不能被 3、5 或 15 整除时,我们会陷入打印 int 的默认子句,'{}'.format(i)
只是将 i 作为字符串插入到该字符串中。
一些输出
嘶嘶声
79
嘶嘶
声
82嘶嘶声
83
嘶嘶
声
86
嘶嘶声
88
89
嘶嘶声
91
92
嘶嘶声
94
嘶嘶
声
97
98
嘶嘶
声