簡體   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