day 5 while 循环

day 5 while 循环

while循环
1.语法
while 条件语句:
    循环体
2.执行过程

先判断条件是否成立,成立就执行循环体,执行完循环体再判断条件是否成立,成立就再执行循环体
直到判断条件时条件不成立则结束循环

3.两个极端

a. 死循环 — 条件一直成立如while 10>5 ; while True
b. 无法循环 ---- 一开始条件就不成立则不会执行循环体

4. for 与 while 的选择

遇到循环问题的时候优先考虑for循环,for 循环解决不了的问题才使用while循环。

for循环无法解决的问题:

1)死循环
while True:
循环体

2)循环次数不确定(循环次数不由程序员决定,而是由使用这个程序用户的行为决定)
例如:提示输入密码,直到输入正确为止

# 循环次数不确定
# 提示程序用户输入密码,直到输入的密码与系统保存的密码一致为止
pwd = '123456'
p = input('请输入密码:')
while p != pwd:
    p = input('密码错误,请重新输入密码:')
continue 和 break

continue 和 break 都是循环关键字,只能在循环体之中使用

1. continue — 结束一次循环

执行循环体的时候如果遇到了continue, 当次循环结束,直接进入下一次循环

for i in range(5):
    print('======')
    continue
    print('------')

for i in range(1, 11):
    if i % 2 == 1:
        continue
    print(i)
2. break — 结束整个循环

执行循环体的时候如果遇到了break,整个循环直接结束(循环体剩下的不再执行,也不会再进入下一次循环)

3. break的应用 — 当while遇到break
while  True:
    需要重复执行的操作
    if 循环结束的条件:
        break

提示程序用户输入密码,直到输入的密码与系统保存的密码一致为止

pwd =s '123456'
p = input('请输入密码:')
while True:
    p = input('密码错误,请重新输入密码:')
    if p == pwd:
        break

练习:猜数游戏


from random import randint

num = randint(0, 100)  # 产生0到100的随机数
print('猜数游戏现在开始!')
num1 = int(input('请输入您猜的数字:'))
n = 0
while True:
    n += 1
    if num1 < num:
        if n > 4:
            print('又猜错了')
            print('很遗憾,5次机会已用完!游戏结束。')
            break
        num1 = int(input('猜小了,请再次输入您猜的数字:'))
    elif num1 > num:
        if n > 4:
            print('很遗憾,5次机会已用完!游戏结束。')
            break
        num1 = int(input('猜大了,请再次输入您猜的数字:'))
    else:
        print('恭喜你,猜对啦!')
        break
循环else
1. 完整的循环结构
1) 完整的for循环 --- 经常使用
for 变量 in 序列:
	循环体
else:
	代码段
	
2) 完整的while循环
while 条件语句:
	循环体
else:
	代码段
2. 循环else的使用

1) else的存在并不影响原来循环的使用

2) else后面的代码段会在循环正常结束后执行,若是循环因遇到break而结束则不会执行else后面的代码段。

​ 循环正常结束:for 把序列中数据取完而导致循环结束

​ while 因条件语句不成立而导致循环结束

3)使用案例

for i in range(5):
    print('hello world!')
else:
    print(100)
    # pass
# 不知道写什么的时候可以写pass
for i in range(5):
    print('hello world!')
    if i == 2:
        break    # 遇到break结束循环,故不会执行else后的print(100)
else:
    print(100)
# 判断字符串是否是纯字母字符串
str1 = 'hgskwinh'
for i in str1:
    if not ('a' <= i <= 'z' or 'A' <= i <= 'Z'):
        print(str1, '不是纯字母字符串')
        break
else:
    print(str1, '是纯字母字符串')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值