gpt4 book ai didi

Python 循环(for 或 while)

转载 作者:太空宇宙 更新时间:2023-11-04 02:55:01 25 4
gpt4 key购买 nike

我必须创建一个函数,它使用 2 个列表和一个质数,如果 L 在质数上与 M 相关,则生成 True,否则生成 False

这是我的代码,我认为它看起来不错,但问题是它没有在应该产生 False 的时候产生,我似乎找不到错误。感谢谁能快速找到问题!

帮我判断我是否有质数

def is_prime(a):
prime = True
if a < 2:
prime = False
else:
for i in (2, a):
if a%i == 0:
prime = False
break
return prime

似乎出现问题的主要功能

def check_related_over_prime(L,M,p):
related_over_prime = True
for i in range(len(L)):
if is_prime(i):
difference = L[i] - M[i]
if (difference % p != 0):
related_over_prime = False
break
return related_over_prime

例如:这是一个在应该通过的测试和一个在应该失败的时候通过的测试

测试 1:p = 3 -> True

L1 = [0,1,4, 5, 6,10]
M1 = [0,1,1,-1,10, 1]
check.expect('T1', check_related_over_prime(L1,M1,3), True)

测试 2:p = 3 -> False

L2 = [0,1,4, 5, 6,10]
M2 = [0,1,0,1,10, 11]
check.expect('T2', check_related_over_prime(L2,M2,3), False)

最佳答案

for i in (2, a): 应该是 for i in range(2, a)(2, a) 是一个元组,您的 for 只检查值 2 和 a,而不是中间的所有值。

关于Python 循环(for 或 while),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42667063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com