繁体   English   中英

Python素数循环

[英]Python Prime Numbers Loop

运行此代码时,我一直出错。 我想知道哪里出了问题。 该代码必须能够读取单词和整数并重复提示(请输入整数> = 2:'),直到它大于或等于2。在此先感谢您。

def prime_number():

    prime_num = input('Please enter an integer >= 2: ')

    while not(prime_num.isdigit() and int(prime_num)<1):

        prime_num = input('Please enter an integer >= 2: ')

    for i in range(2,int(prime_num)+1):
        for x in range(2,i):
            if i%x == 0:
                break
        else:
            print (i)
  1. 如@rpattiso所述,您未调用该方法,并且
  2. while条件是越野车

这应该工作:

def prime_number():
    prime_num = input('Please enter an integer >= 2: ')

    while not (prime_num.isdigit() and not int(prime_num)<1):
        prime_num = input('Please enter an integer >= 2: ')

    for i in range(2,int(prime_num)+1):
        for x in range(2,i):
            if i%x == 0:
                break
        else:
            print (i)
prime_number()

您需要输入功能。 通常使用以下命令在python中完成:

def prime_number():
    prime_num = input('Please enter an integer >= 2: ')    
    while not(prime_num.isdigit() and int(prime_num)<1):    
        prime_num = input('Please enter an integer >= 2: ')

    for i in range(2,int(prime_num)+1):
        for x in range(2,i):
            if i%x == 0:
                break
        else:
            print (i)


if __name__ == "__main__":
    prime_number()        

一般而言,只是一些建议。 我将输入逻辑与质数计算逻辑分开。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM