zoukankan      html  css  js  c++  java
  • python切片技巧

    写一个程序,打印数字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的倍数,则第一部分为”"。

  • 相关阅读:
    JSP配置虚拟路径及虚拟主机
    Java中遍历集合的常用方法
    【洛谷P2879】[USACO07JAN]Tallest Cow S
    【洛谷P1080】[NOIP2012 提高组] 国王游戏
    算数基本定理
    【csp202104-3】DHCP服务器
    【csp202104-2】邻域均值
    电话网络
    联通数
    【洛谷P4447】[AHOI2018初中组]分组
  • 原文地址:https://www.cnblogs.com/a-way-blog/p/10494307.html
Copyright © 2011-2022 走看看