我的问题如下:我想创建一个程序,它接受大于 0 且小于 21 的整数,并且这些整数之间用一个空格分隔。然后我想创建一个列表,其中素数将被附加而不进行任何更改,非素数将被拆分为元素,这些元素将是素数。
输入: 3 6 7 12
输出: [3,2,3,7,2,2,3]
这就是我想出的。当我尝试使用上述输入运行程序时,对于 12,它仅输出 2 和 3,而没有另一个 2。这里可能有什么问题?
l_prime = [2,3,5,7,11,13,17,19]
l = []
disposable = None
iterate = input().split()
for i in iterate:
a = int(i)
for j in range (0,len(l_prime)):
disposable = j
if a == l_prime[j]:
l.append(l_prime[j])
else:
if a % l_prime[disposable] == 0:
l.append(l_prime[disposable])
a = a / l_prime[disposable]
else:
if a <= 1:
break
else:
disposable += 1
l
我将不胜感激任何帮助!提前致谢!
翻阅古今
相关分类