python 之while详解

一、while 简介

Python 的循环有 for 和 while 两种,while 为条件控制循环,通过条件表达式控制循环结束。

流程图如下:

Python 中 while 语句的格式如下:

while  <条件表达式>:
         【语句块】

释:当 while 的 <条件表达式>为 True 时运行【语句块】,【语句块】运行结束后,再次进入 <条件表达式>进行 判断,如果 <条件表达式>结果为 True 则再次运行【语句块】, 以此循环直到 <条件表达式> 结果为 False 结束循环。

示例:求1~100 的和

# 初始化i 和 sum的值
sum = i = 0  
while i <= 100:  # 循环控制条件
    sum = sum + i
    i + = 1   # 等同于i=i+1
print(sum) # 输出结果5050

二、while … else … (很少用)

while … else … 先进行 while 循环,循环结束后再执行 else 下的语句。

只有在特定条件下会用 while…else…,知道有这个东西就可以

语句形式如下:

while  <条件表达式>:
        【while 的语句块】
else:
        【else的语句块】
释:先进行 while 循环,当循环结束后执行【else 的语句块】

示例:求1~100 中的所有奇数的和

sum = i = 0
while (2 * i + 1) <= 100:  # 循环控制条件
    sum = sum + 2 * i + 1
    i += 1  # 等同于i=i+1
else:
    print('循环结束后执行else')
print(sum)

三、while 无限循环

当 while 的条件永远为 True 是就是一个无限循环。

示例:从键盘输入一个正整数判断是否大于等于100还是小于100,输入负数时退出

key = 1
while key >= 0:
    key = input('请输入一个正整数:')  # input从键盘接收数据
    key = int(key)  # key强制转换为int
    if key >= 100:
        print(key, '不小于100')
    else:
        print(key, '小于100')

注意:while循环条件表达式总是为True,就会无限循环下去,变成死循环,所以要特别留意 while 循环的退出条件。

四、break 与 continue 退出循环

break 结束循环,遇到break直接退出循环

continue 跳过当次循环,进入下一次循环

break 示例:

i = 0
while i <= 5:  # 循环控制条件
    if i == 3:
        break  # 结束循环
    print(i)
    i += 1  # 等同于i=i+1

输出结果:
0
1
2
输出结果到3就结束了,程序运行到break就结束整个循环。

continue 示例:

i = 0
while i <= 5:  # 循环控制条件
    i += 1
    if i == 3:
        continue  # 跳过当次循环
    print(i)
  • 输出结果:
    
  • 1
    
  • 2
    
  • 4
    
  • 5
    
  • 6
    

输出结果缺少了3,continue 结束了当次的循环,进入下一循环

总结

while 循环为条件控制循环,当 while 的表达式为True时我们才进行循环,循环到表达式为False 结束。

break 与 continue 都可以退出循环,区别在于break是结束循环,continue 是跳出当前循环进入下一次循环。
下面为思维导图

原文链接为(https://zhuanlan.zhihu.com/p/29273427)

关注"Python做些事",祝大家在代码界一帆风顺,各位大佬,干杯

  • 23
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值