【问题标题】:Counter in for loop and resetting counterfor循环中的计数器和重置计数器
【发布时间】:2019-11-20 23:49:53
【问题描述】:

我有以下代码:

for i in range(10):
    while True:
       num = int(input("Enter an integer: "))
       print("The double of",num,"is",2 * num)
    print('10')

我想要做的是在 10 次迭代后,消息应该打印 10。它只这样做了一次,我如何重置计数器以便它在达到 10 后重新开始?

我希望程序做的是在 10 次迭代后打印“10”,但循环是无限的,所以它永远不会中断。

【问题讨论】:

  • 所以基本上你想再次运行for i in range(10): 循环?如果是这样,您可以将该循环包装在另一个循环中,或者将其包装在一个函数中并在循环结束后调用它。
  • While True:... 将永远运行 - 您希望循环何时停止请求整数?
  • 如果您可以编辑您的问题以明确您希望您的代码做什么,那就太好了。目前,人们在写答案时并不真正知道如何为您提供帮助。这不是很好地利用人们的时间。
  • 切换whilefor 语句。然后它将永远运行并在每 10 次后打印 '10'

标签: python counter


【解决方案1】:

您可以使用它,您只需循环一次并检查计数器是否可被 10 整除以打印消息

for i in range(1, 100):
    num = int(input("Enter an integer: "))
    print("The double of",num,"is",2 * num)
    if i%10==0:
        print('10')

如果你想要无限循环:

i = 1
while True:
    num = int(input("Enter an integer: "))
    print("The double of",num,"is",2 * num)
    if i%10==0:
        print('10')
    i+=1

for i in range(1,21) 的结果是

The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
10
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
The double of 50 is 100
10

【讨论】:

  • 我该如何解决这个无限循环? NameError: name 'i' 未定义
  • 可能是这样的? while True: counter = 0 num = int(input("Enter an integer: ")) print("The double of",num,"is",2 * num) if counter == 3: print('10') counter +=1
  • 你需要初始化计数器,我更新了代码你可以看看
  • 你能详细说明你想从这个程序中实现什么吗?我在测试代码时删除了 for 循环中的输入语句,我会继续为您添加它:)
  • 酷,我发布的代码应该可以实现这一点。它会无限地要求一个数字,每 10 次迭代它会打印 10
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-05
  • 2010-11-14
  • 2013-11-06
  • 2020-05-31
  • 1970-01-01
  • 2010-11-02
  • 1970-01-01
相关资源
最近更新 更多