初学者python遇到简单的问题不会了

初学者python完成实验时遇到不会的问题

img


print("请输入一个大于等于3的正整数n:”)
n =int(input())
S=0
for i in range(2,n):
if n%i==0:
s=s+1
if s== 0:
print(n,"是素数")
else:
print(n,"不是素数")
第一个已经完成 求解第二个如何改进

给个例子左参考:

lst = []
for n in range(1,50):
    if n==1 or n==2:
        lst.append(n)
        continue
    for i in range(2,n):
        if n%i==0:
            break
    else:
        lst.append(n)
for i in lst:
    print(i)
print(f'50以内所有素数的和是{sum(lst)}')

if n % i ==0 : 这一行两处 ==号,冒号
else: 这一行与for对齐

按照题主代码修改得,应该会容易理解一些,如有帮助,希望采纳一下

n = 50
sum = 0
for num in range(2,n):
    sushu = True
    for i in range(2,num):
        if num % i == 0:
            sushu = False
    if sushu == True:
        print(num,"是素数")
        sum += num
print(n ,"以内所有素数之和为:",sum)

img