【问题标题】:How to use a while loop to print every nth number in a range in Python如何使用while循环在Python范围内打印每个第n个数字
【发布时间】:2019-08-18 04:13:48
【问题描述】:

我正在做一个练习题,“使用“while”循环打印从 1 到 1000 的每五个数字。”

我似乎无法让它工作。

这是我迄今为止尝试过的(以及一些小的调整)。

num = 1

while num in range(1, 1001):
    if num % 5 == 0:
        num += 1
print(num)

谢谢!

【问题讨论】:

  • print range(1, 1001, 5) ?
  • @khachik use a "while" loop

标签: python python-3.x while-loop iteration


【解决方案1】:
for num in range(1, 1001):
    if num % 5 == 0:
        print(num)

你已经很接近了,这应该可以。

@Wolf 评论对你也很有帮助和相关性!

【讨论】:

  • 你需要use a "while" loop
  • 我可以用 for 循环做到这一点 :) 谢谢!我不知道如何使用 while 循环来做到这一点。
  • 好吧,我只是在使用 while 循环解决方案。 :) 不客气!
  • 对不起,我的意思是你写的 for 循环很有帮助,但我需要知道如何在 while 循环中执行 :)
  • 查看最近的答案。他们提供解决方案。 :)
【解决方案2】:

你已经接近了。 您希望每次条件匹配时都打印出来,但不管条件如何都会增加。

num = 1

while num in range(1, 1001):
    if num % 5 == 0:
        print(num)  # print must be inside the condition
    num += 1  # the increase must be done on every iteration

【讨论】:

  • 你不需要在开头设置 num 。您可以删除该行。
  • 就是这样!感谢您的帮助!
  • @narm:是的,你有,这不是 for 循环。
  • 是的,如果我删除第一行就不行了。它的工作方式与您编写它的方式完全相同@Toby
  • @Toby 是的,我搞砸了,但使用 range() 的实例化似乎很奇怪。
【解决方案3】:

我会说 Python 风格会更像:

print(list(range(0, 1001, 5)[1:]))

知道了,是的,那么对于 while 循环,它看起来像:

num = 1
while num < 1001:
    if not num % 5:
        print(num)
    num += 1

【讨论】:

  • 这样更好,但练习是使用 while 循环?
猜你喜欢
  • 1970-01-01
  • 2020-04-24
  • 2022-12-20
  • 1970-01-01
  • 2017-02-03
  • 1970-01-01
  • 1970-01-01
  • 2018-09-15
  • 1970-01-01
相关资源
最近更新 更多