我制作了一个程序来查找素数并存储在列表中。 现在我想打印素数的确切位置 例如。在2到20的范围内 如果我输入输入6,它应该打印13而不是17。
q=[]
for num in range(1,101):
if num>1:
if all(num%i!=0 for i in range(2,int(num**0.5+1))):
q.append(num)
答案 0 :(得分:2)
只需从索引中扣除1
:
print(q[6-1]) # -> 13
列表是从零开始的,所以如果你打算使用基于一个索引,你需要简单地减去1
,你也应该处理用户输入0
的情况。
你也可以从3开始你的范围并使用2步来获得素数:
q = [2]
for num in range(3, 101, 2):
if num > 1:
if all(num % i != 0 for i in range(3, int(num ** 0.5 + 1), 2)):
q.append(num)
答案 1 :(得分:2)
q=[]
for num in range(1,101):
if num>1:
if all(num%i!=0 for i in range(2,int(num**0.5+1))):
q.append(num)
index = 6
print q[index-1]