Как печатать числа от 1 до 1000, а затем только четные числа в одном цикле - PullRequest
0 голосов
/ 25 января 2020

У меня есть задача печати чисел от 1 до 1000 с использованием только двух строк кода. Что мне удалось сделать. У меня проблема в том же l oop Я должен распечатать отдельный список чисел, используя модульный оператор "% 2". Мой текущий код ниже печатает числа от 1 до 1000, но затем между его печатью, если число делится на 2, и печатью true или false. Мне нужно распечатать этот новый список четных чисел отдельно.

мой код выглядит следующим образом:

for num in range(1,1001):
    print (num)
    num2 = num%2==0
    print (num2)

Любая помощь будет по достоинству оценена!

Ответы [ 3 ]

1 голос
/ 25 января 2020

Вы можете использовать распаковку с диапазоном следующим образом:

for i in (1,2):
    print(*range(i,1001,i))

И если вы хотите напечатать каждое число в новой строке, просто измените несколько вещей, таких как:

for i in (1,2):
    print(*range(i,1001,i), sep='\n')

0 голосов
/ 25 января 2020

Нет ничего проще (одна l oop, две строки кода):

for i in range(1) :
    print range(1,1001), '\n', range(2,1001,2)

будет выводить для чисел (1 ~ 10):

[1, 2, 3, 4, 5, 6, 7, 8, 9] 
[2, 4, 6, 8]

Если вы вы используете python3, вам нужно добавить скобки к вызову print( ... ), а также обернуть range() в list(), например list(range(...)). Но это только небольшие изменения.

0 голосов
/ 25 января 2020

Это действительно ужасный код. Но это работает.

for i in range(1, 1001):
    print("{}{}".format(i, "" if i % 2 else "\n{}".format(i // 2)))
...