【问题标题】:Is there a cleaner/better way to run this code that shows the print number?是否有更清洁/更好的方法来运行显示打印编号的代码?
【发布时间】:2020-12-23 23:34:54
【问题描述】:

代码应该在每次循环运行时显示对应于打印输出的数字。有没有更好/更清洁的方法来做到这一点?

counter = 1
i = 0
while i < 5:
    print(f"{counter} Hello World!")
    counter += 1
    i += 1

输出:

1 Hello World!
2 Hello World!
3 Hello World!
4 Hello World!
5 Hello World!

【问题讨论】:

  • 你为什么要维护两个独立但几乎相同的变量icounter

标签: python python-3.x


【解决方案1】:

鉴于counter = i + 1,一种选择是只执行print(f"{i+1} Hello World!") 并摆脱counter

我看不出您所说的“更好/更清洁的方式”还有什么意思,如果这不是您的想法,请澄清您的问题。

【讨论】:

    【解决方案2】:

    您应该使用 range() 迭代器或 enumerate() 现有的迭代器!

    >>> for counter in range(1, 5+1):
    ...     print("{} Hello World!".format(counter))
    ...
    1 Hello World!
    2 Hello World!
    3 Hello World!
    4 Hello World!
    5 Hello World!
    

    range() 允许设置起始值,因此从1 开始可以避免您在计数器上进行进一步的数学运算。

    【讨论】:

      【解决方案3】:
      for i in range(5):
          print(f"{i+1} Hello World!")
      

      你可以使用上面的代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-14
        • 2017-01-16
        • 1970-01-01
        相关资源
        最近更新 更多