Нахождение четных чисел с помощью while as - PullRequest
0 голосов
/ 26 мая 2020

Я выполняю это задание:

Напишите программу, которая печатает все четные числа меньше введенного числа, используя while l oop.

Формат ввода:

Максимальное число N, которое изменяется от 1 до 200.

Формат вывода:

Все четные числа меньше N в порядке возрастания. Каждое число должно быть в отдельной строке.

N = int(input())
i = 0
while 200 >= N >= 1:
    i += 1
    if i % 2 == 0 and N > i:
        print(i)

и его вывод будет выглядеть так:

10  # this is my input
2
4
6
8

, но есть ошибка о превышении времени.

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Простой код:

import math

N = int(input(""))
print("1. " + str(N))

num = 1

while num < math.ceil(N/2):
    print (str(num) + ". " + str(num * 2))
    num += 1
0 голосов
/ 26 мая 2020

Проблема в том, что while l oop никогда не останавливается

while 200 >= N >= 1 В этом случае, поскольку вы никогда не меняете значение N, условие всегда будет истинным. Может быть, вы можете сделать что-то еще вроде этого:

N = int(input())
if N > 0 and N <= 200:
    i = 0
    while i < N:
        i += 2
        print(i)
else 
    print("The input can only be a number from 1 to 200")
...