输出指定范围内的素数
不想说话了,怎么还是有问题呢,输出结果是:100,没有范围lower=int(input("请输入区间最小值:"))higer=int(input("请输入区间最大值:"))
for num in range(lower,higer+1):
if num>1:
for i in range(2,num):
if num % i==0:
break
else:
print(num)
本帖最后由 Twilight6 于 2020-5-27 15:30 编辑
我傻了 。。。没看标题 哈哈哈 循环下面用else的作用效果是 如果 for 循环正常结束则执行同缩进 for 下面的 else ,否则不执行 else
比如遇到break 就是不正常中断循环,也就不会执行 else
lower = int(input("请输入区间最小值:"))
higer = int(input("请输入区间最大值:"))
temp = []
for num in range(lower, higer + 1):
if num > 1:
for i in range(2, num):
if num % i == 0:
break
else:
temp.append(num)
print(lower,'~',higer,'范围内的质数是:',temp) 他这个又可以正常执行,我觉得和他的差不多呐?
lower = int(input("输入区间最小值: "))
upper = int(input("输入区间最大值: "))
for num in range(lower,upper + 1):
# 素数大于 1
if num > 1:
for i in range(2,num):
if (num % i) == 0:
break
else:
print(num) HDP1008 发表于 2020-5-27 15:46
他这个又可以正常执行,我觉得和他的差不多呐?
差在else 用的地方哦
你认真理解下我楼上说的for循环和else配合的效果
然后去看下你代码和它代码的差别~ HDP1008 发表于 2020-5-27 15:46
他这个又可以正常执行,我觉得和他的差不多呐?
差在else 用的地方哦
你认真理解下我楼上说的for循环和else配合的效果
然后去看下你代码和它代码的差别~ HDP1008 发表于 2020-5-27 15:46
他这个又可以正常执行,我觉得和他的差不多呐?
我回来了,沉默时间过了哈哈,他的else 和我的代码else 位置相同 你的位置不对
要理解这句话:
循环下面用else的作用效果是 如果 for 循环正常结束则执行同缩进 for 下面的 else ,否则不执行 else
比如遇到break 就是不正常中断循环,也就不会执行 else def getPrime(n):
primes = * n
primes, primes = False, False
for (i, prime) in enumerate(primes):
if prime:
for j in range(i * i, n, i): primes = False
return
lower=int(input("请输入区间最小值:"))
higer=int(input("请输入区间最大值:"))
n = getPrime(higer+1)
for idx, val in enumerate(n):
if lower < val:
print(n)
break Twilight6 发表于 2020-5-27 16:12
我回来了,沉默时间过了哈哈,他的else 和我的代码else 位置相同 你的位置不对
要理解这句话:
嗯嗯终于理解了这俩个代码的区别了
代码1:
num=1
for i in range(1,6):
num=num*i
print(num)
代码2
num=1
for i in range(1,6):
num=num*i
print(num) HDP1008 发表于 2020-5-27 16:46
嗯嗯终于理解了这俩个代码的区别了
代码1:
哈哈{:10_297:}
https://xxx.ilovefishc.com/forum/202005/27/132745rjvcvw1z2148jthd.gif 哈哈
页:
[1]