Как использовать цикл while для печати каждого n-го числа в диапазоне в Python - PullRequest
0 голосов
/ 27 марта 2019

Я работаю над практической проблемой, которая гласит: «Используйте цикл while, чтобы распечатать каждое пятое число, считая от 1 до 1000».

Кажется, я не могу заставить его работать.

Это то, что я пробовал до сих пор (а также несколько небольших изменений).

num = 1

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

Спасибо!

Ответы [ 3 ]

3 голосов
/ 27 марта 2019

Ты рядом. Вы хотите распечатывать каждый раз, когда условие совпадает, но увеличивается независимо от условия.

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
0 голосов
/ 27 марта 2019

Я бы сказал, что стиль Python будет больше похож на:

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

Понял, да, тогда для while цикла это выглядит так:

num = 1
while num < 1001:
    if not num % 5:
        print(num)
    num += 1
0 голосов
/ 27 марта 2019
for num in range(1, 1001):
    if num % 5 == 0:
        print(num)

Вы были довольно близки, это должно сработать.

@ Комментарий Волка также очень полезен для вас и актуален!

...