转自:http://blog.jobbole.com/32748/

解答:

写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”

for x in range(101):print"fizz"[x%3*4::]+"buzz"[x%5*4::]or x

解析:

print后面分为两部分,第一部分是”fizz”[x%3*4::]+”buzz”[x%5*4::],第二部分是x。两部分使用逻辑或连接。如果第一部分为空,则最终结果为第二部分的结果。如果第一部分非空,则最终结果为第一部分。第一部分由两个字符串连接而成,第一个字符串为”fizz”[x%3*4::],如果x是3的倍数,则x%3=0,那么”fizz”[x%3*4::]=”fizz”[0::]=”fizz”;如果x不是3的倍数,则x%3=1或2,那么”fizz”[x%3*4::]=”fizz”[4::]或”fizz”[8::]=”"。第二个字符串为”buzz”[x%5*4::],如果x是5的倍数,那么”buzz”[x%5*4::]=”buzz”[0::]=”buzz”;如果x不是5的倍数,那么x%5=1,2,3,4,那么”buzz”[x%5*4::]=”buzz”[4::]或”buzz”[8::]或”buzz”[12::]或”buzz”[16::]或”buzz”[20::]=”"。由此,如果x是3的倍数,第一部分为”fizz”;如果x是5的倍数,第一部分为”buzz”;如果x既是3的倍数,又是5的倍数,则第一部分为”buzzfizz”,如果既不是3的倍数,也不是5的倍数,则第一部分为”"。

GitHub 加速计划 / buz / buzz
11.47 K
861
下载
Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAI's Whisper.
最近提交(Master分支:2 个月前 )
38e1254a 3 个月前
3c785933 3 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐