手机编辑的,对齐有点问题。建议拉到后面看图。
def primenumber(i, j):
s = 2
t = 0
prime=[]
for r in range(i,j):
if r==1:
continue
if r==2:
prime.append(r)
else:
for s in range(2,r):
if (r%s!=0):
t+=1
s+=1
if t==(r-2):
prime.append(r)
return prime
def main():
print("请输入第一个数:")
first=int(input())
print("请输入最后一个数:")
last = int(input())
print("[%d,%d)范围内的素数有:"%(first,last),primenumber(first,last))
if name=="main":
main()
按你的思路来调整下 s,t这块调整如下
def primenumber(i, j):
prime = []
for r in range(i, j + 1):
if r == 1:
continue
elif r == 2:
prime.append(2)
else:
for s in range(2, r):
# 能被整除就不是素数,结束循环继续判断下一个数
if r % s == 0:
break
# 循环结束了还没被整除,就是素数了
if s == r - 1:
prime.append(r)
return prime
def main():
first = int(input("请输入第一个数:"))
last = int(input("请输入最后一个数:"))
print("[%d,%d]范围内的素数有:" % (first, last), primenumber(first, last))
if __name__ == "__main__":
main()