我试图将python is_prime文件导入python程序prime_between,并使用is_prime()函数显示两个数字之间的素数列表。程序应该返回包含"start“和"end”数字之间的素数列表。使用“列表累加器模式”生成包含素数的列表。
def is_prime(num):
if num <= 1:
return False
for n in range(2, num):
if num % n == 0:
return False
return True
if __name__ == "__main__":
num = int(input("Enter a number: "))
if is_prime(num):
print(f"{num} is a prime number")
else:
print(f"{num} is not a prime number")"""""""""""""""""""""""""""""""""""""""""""""""""""“
import prime
def prime_between(start, end):
# Complete the prime_between function.
prime_list = []
for i in (start, end):
x = prime(i)
if x == "prime":
prime_list.append(i)
return prime_list
# Complete the main program.
if __name__ == "__main__":
start = int(input("Enter the start number: "))
end = int(input("Enter the end number: "))
lst = prime_between(start, end)
if len(lst) == 0:
print("There are no prime numbers from", start, "to", end)
else:
print("The prime numbers from", start, "to", end, "are: ", lst)当我运行它时,我得到
File "/home/prime_between.py", line 26, in <module>
lst = prime_between(start, end)
File "/home/prime_between.py", line 17, in prime_between
x = prime(i)
TypeError: 'module' object is not callable发布于 2022-09-29 03:38:39
import prime
def prime_between(start, end):
# Complete the prime_between function.
prime_list = []
for i in range(start, end):
prime_list = []
for i in (start, end):
x = prime.is_prime(i)
if x is True:
prime_list.append(i)
return prime_list您需要从素模块调用函数,并将其赋值给变量,然后检查返回值。
发布于 2022-09-29 03:34:32
当您使用import prime时,您正在导入该模块内的所有函数(模块是文件prime.py)。有关导入的更好概述,请查看本指南。
若要使用模块中的代码,而不是x = prime(i),请使用x = prime.is_prime(i)。
另一个问题是,在下面的if语句中,检查它是否等于"prime",但是is_prime函数返回True或False。快速修复将只是if x:,因为x将是一个布尔值。
发布于 2022-09-29 03:34:56
导入功能:
from prime import is_prime
...
x = is_prime(i)
...https://stackoverflow.com/questions/73889981
复制相似问题