【发布时间】:2019-02-24 09:38:05
【问题描述】:
我编写了以下代码,它将素数打印到所需的数字。
def prime_number(number1):
for desired_num in range(1,int(number1)+1):
if desired_num > 1:
for i in range(2,desired_num):
if (desired_num % i) == 0:
break
else:
print(desired_num)
number2 = int(raw_input ("Enter any number :- "))
print "Prime numbers between 1 and", number2, "are :-"
prime_number(number2)
我得到的输出类似于下面的,对于一个有很多数字的列表来说变得非常麻烦。
2
3
5
7
我想要的输出与下面的类似。
[2, 3, 5, 7]
您对如何获得所需的输出有任何建议吗?
【问题讨论】:
-
总是有
print(desired_num, end=' ')。丑陋的黑客你可能想要的东西。我只是重新阅读了代码。删除函数中的打印,并返回一个列表,以便prime_number返回一个迭代器。 -
print(desired_num, end=' ')is Python 3 — OP 已经标记了他们的问题 [python-2.7] 并且在他们展示的代码中有一个print作为语句行......在 Python 2 的上下文中更相关的答案是print desired_num,(注意结尾的逗号)。
标签: python python-2.7 output readability