有人能查一下我的密码吗?我在提取循环中的质数时遇到问题。如果用户输入5,则输出应为:2 3 5 13 89;如果用户输入7,则输出应为2 3 5 13 89 233 1597等,

 countPrime= int(0)
 endNum= int(0)
 a0= int(0)
 a1= int(1)
 checkPrime= False
 valueN= int(input("Enter the value of N: \n"))

 while (countPrime < valueN):
      endNum= a0 + a1
      a0= a1
      a1= endNum

      for i in range(2, endNum+1):                   # prime check
           if (not endNum % i ==0 and endNum > 2):       #
                checkPrime= True                         #

      if(checkPrime==True):
          countPrime+=1
          print(endNum, end=" ")

最佳答案

while循环未缩进。
如果是的话,它只会计算第n个斐波那契数。
在for循环中,如果数字是由某个数字不可分割的,则看起来您设置了checkPrime=True,通常情况下都是这样。

10-06 10:19