不知道还有一个8去哪里去了

def f(n):
flag=0
a=0
for i in range(n,1,-1):
for j in range(2,int((n**0.5)+2)):
if i%j==0:
break
else:
flag=flag+1
a=a+i
if flag==10:
break
return f'{a}'

p=int(input())
print(f(p))

img

img

 for j in range(2,int((n**0.5)+2)):
改为:
 for j in range(2,int((i**0.5)+2)):
这里不应该用总数n来做范围的限制,而是用每一轮的i
def f(n):
    flag=0
    a=0
    for i in range(n,1,-1):
        for j in range(2,int((i**0.5)+2)):
            if i%j==0:
                break
        else:
            flag=flag+1
            a=a+i
        if flag==10:
            break
    return a

p=int(input())
print(f(p))


n=int(input())

temp=[]
def isPrime(x):
    for i in range(2,int(x**0.5)+1):
        if x%i==0:
            return False
    return True

for i in range(n,1,-1):
    if isPrime(i):
        temp.append(i)

print(sum(temp[:10]))