Python 如何在同一循环中打印1到1000之间的数字,然后只打印偶数

Python 如何在同一循环中打印1到1000之间的数字,然后只打印偶数,python,for-loop,numbers,range,Python,For Loop,Numbers,Range,我的任务是只使用两行代码打印从1到1000的数字。我已经设法做到了。我遇到的问题是在同一个循环中我必须使用模块运算符“%2”打印一个单独的数字列表。下面我的当前代码是打印从1到1000的数字,但如果数字可以由2设计,则在打印和打印真或假之间。我需要单独打印这个新的偶数列表 我的代码如下: for num in range(1,1001): print (num) num2 = num%2==0 print (num2) 任何帮助都将不胜感激 这真是个难看的代码。但这是可

我的任务是只使用两行代码打印从1到1000的数字。我已经设法做到了。我遇到的问题是在同一个循环中我必须使用模块运算符“%2”打印一个单独的数字列表。下面我的当前代码是打印从1到1000的数字,但如果数字可以由2设计,则在打印和打印真或假之间。我需要单独打印这个新的偶数列表

我的代码如下:

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

任何帮助都将不胜感激

这真是个难看的代码。但这是可行的

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

您可以使用如下范围的解包:

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

如果您想在新行中打印每个数字,只需更改以下内容:

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

没有比这更容易的了(一个循环,两行代码):

将输出数字(1~10):


如果您使用的是python3,则需要在
print(…)
调用中添加括号,还需要在
list()
中包装
range()
,如
list(range(…)
。但这只是一个微小的变化。

添加一个if语句你能显示结果应该是什么样子吗(只使用1到10)?模运算符应该在
if
测试中使用,以检查数字是否为偶数,你不应该打印测试结果。如果偶数应该单独打印,我不认为这可以在同一个循环中完成。它总是将两个列表混合在一起。如果我使用另一个循环,我可以分别打印列表,但我不确定是否可以在同一个循环中进行打印?循环的目的是什么?@Tomerikoo OP说他需要一个循环。不知道为什么,但在这里。为什么是分区?
for i in range(1) :
    print range(1,1001), '\n', range(2,1001,2)
[1, 2, 3, 4, 5, 6, 7, 8, 9] 
[2, 4, 6, 8]