提问人:Yodamustibe 提问时间:10/23/2023 最后编辑:mkrieger1Yodamustibe 更新时间:10/23/2023 访问量:46
如何扩展用作循环范围的数组
How do I extend an array being used as range for a loop
问:
我正在构建一个程序来查找质数,我通过循环遍历 100 以下的数字来做到这一点,我使用两个 for 循环来遍历数字并查找它们是否为质数。我的问题是第二个循环范围等于发现的素数数组,但我不知道如何添加到该数组中,因为当我将新数字附加到数组时,Python 会创建一个克隆变量,这意味着它只会循环第二个循环一次。
def Primeadder():
primes = [1]
for i in range(100):
for j in range(len(primes)):
if j != 0:
continue
print(f"i = {i} and j = {j}")
print(len(primes))
if j != 0 and i%primes[j] == 0 and i not in primes:
primes.append(i)
print(primes)
Primeadder()
我尝试使用 numpy 数组,但不知道如何在 visual studio 上安装库。关于如何解决这个问题,我没有其他想法。
答:
0赞
XM01 - stands with Palestine
10/23/2023
#1
代码中存在逻辑错误
这是正确的代码:
def Primeadder():
primes = []
for i in range(2, 100):
is_prime = True
for prime in primes:
if i % prime == 0:
is_prime = False
break
if is_prime:
primes.append(i)
print(primes)
此代码从 because 不是质数开始,假定每个数都是质数,检查已知素数的可整除性,并将不可整除的数添加到质数列表中。这样,它就可以有效地识别 下的质数。2
1
100
素数是一个自然数,它正好有两个不同的自然数除数:1 和它自己。
评论