首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写一个程序,提示用户输入起始号和结束号,并显示开始和结束之间的素数列表。

编写一个程序,提示用户输入起始号和结束号,并显示开始和结束之间的素数列表。
EN

Stack Overflow用户
提问于 2022-09-29 03:29:48
回答 3查看 88关注 0票数 -1

我试图将python is_prime文件导入python程序prime_between,并使用is_prime()函数显示两个数字之间的素数列表。程序应该返回包含"start“和"end”数字之间的素数列表。使用“列表累加器模式”生成包含素数的列表。

代码语言:javascript
复制
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")

"""""""""""""""""""""""""""""""""""""""""""""""""""“

代码语言:javascript
复制
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)

当我运行它时,我得到

代码语言:javascript
复制
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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-09-29 03:38:39

代码语言:javascript
复制
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

您需要从素模块调用函数,并将其赋值给变量,然后检查返回值。

票数 0
EN

Stack Overflow用户

发布于 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将是一个布尔值。

票数 0
EN

Stack Overflow用户

发布于 2022-09-29 03:34:56

导入功能:

代码语言:javascript
复制
from prime import is_prime
...
x = is_prime(i)
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73889981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档