我想在python中編寫一個程序,它可以打印素數序列的第1到第n個數字,或打印素數序列的第n個數字。這是代碼。只打印素數序列的第n個數python
import math
P = 2
X = raw_input('Choose a number: ')
Y = 1
def prime(P, Y):
Choice = raw_input('Select 1 to print X numbers of the Prime sequence. \nSelect 2 to print the Xth number in the Prime sequence. \nWhat is your choice: ')
if Choice == "1":
while Y <= int(X):
isprime = True
for x in range(2, int(P) - 1):
if P % x == 0:
isprime = False
break
if isprime:
print P
Y += 1
P += 1
elif Choice == "2":
prime(P, Y)
基本上,我有第一個部分,所以它打印1到第n個數字的主要序列。然而,我對如何使它只計算第n個素數很感興趣,其中第n個素數是通過原始輸入給出的。在python中必須可以做到這一點,但是,它將如何完成,以及如何做到這一點,而不必添加太多的新變量,但我並不在這裏(儘管我會罰款這樣做)。幫助將不勝感激。
真的,你有不管他們選擇什麼,都要以任何方式完成循環並計數到第X個素數;我只是將'if'移到循環內部,並且只要他們選擇1或X == Y就打印每個結果。 –