【发布时间】:2021-01-16 01:07:37
【问题描述】:
我正在尝试制作一个程序,它将在随机数字段 [a,b] 中输出所有素数。 然而我还需要这个程序使用内部for循环以及for-else构造。我知道这个问题还有其他很好的解决方案,但我尝试只使用上述结构来解决这个问题。问题是它甚至不输出素数,而是输出段中的所有数字。
输入: a, b(其中 a,b 属于整数集合)
输出:段中的素数:x1,x2,...,xN
这是我的解决方案:
# prime nums
x = int(input())
y = int(input())
res = 'prime numbers: '
for i in range (x,y,1):
for j in range (i-1,0,-1):
if (i%j == 0):
pass
else:
res=res+str(i)
print(res)
提前致谢!
【问题讨论】:
-
因为
for的else子句将始终执行,因为for没有break语句...阅读此构造in the docs。基本上将pass更改为break。哦,你还需要更改range...每个数字都可以被1整除...更简单的方法是range(2, i) -
这能回答你的问题吗? Print series of prime numbers in python
标签: python