python 循环中的else

for…else语句在python循环使用else语句的用法,while…else语句相同。

  1. for 中的语句和普通的语句没有区别,else 中的语句会在循环正常执行完的情况下执行(while…else可理解为当表达式的值为假时,检查其后是否有else语句 )。
  2. 如果提前跳出for循环(例如使用break语句)时,则也会跳出else语句。相当于for…else作为一个整体,跳出for循环时也会跳出else
'''
输入两个正整数a、b(2≤a<b≤1000000),找出[a,b]之间的素数,由小到大输出。可会有多行输入。
'''
while 1:
    str1 = input().split()
    a = int(str1[0])
    b = int(str1[1])
    # 区分输入值的大小
    if a>b:
        a,b=b,a
    else:
        a,b=a,b
    for i in range(a,b+1):
        for j in range(2,i//2+1):
            if i % j == 0:
            	# break 是:若i的值可以被整除,则执行break跳出循环,不执行下面的else语句
                break
        # else 是:在内在的for循环中j的值每次执行到最大后,会执行else语句
        else:
            print(i,end=' ')
    print()
	
	'''
	例如输入: >>>2 11  则展示的结果为: > 2 3 5 7 11
	当 i=2时,j没有值,故直接输出2
	当 i=3时,j=2,if为flase
			 j已取到最后值,输出3
	当 i=4时,j=2,if为true,执行break,跳出循环
	当 i=5时,j=2,if为flase
			  j=3,if为flase
			  j=4,if为flase
			  j已取到最后值,输出5
	当 i=6时,j=2,if为true,执行break,跳出循环
	当 i=7时,j=2,if为flase
			  j=3,if为flase
			  j=4,if为flase
			  j=5,if为flase
			  j=6,if为flase
			  j已取到最后值,输出7
	当 i=8时,j=2,if为true,执行break,跳出循环
	当 i=9时,j=2,if为flase
			  j=3,if为true,执行break,跳出循环
	当 i=10时,j=2,if为true,执行break,跳出循环
	当 i=11时,j=2,if为flase
			   j=3,if为flase
			   j=4,if为flase
			   j=5,if为flase
		       j=6,if为flase
			   j=7,if为flase
		       j=8,if为flase
			   j=9,if为flase
		       j=10,if为flase
			   j已取到最后值,输出11 	'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值