day5-循环
while的循环
1.while循环
1)语法:
while 条件语句:
循环体
2)执行过程
先判断条件是否成立,成立就执行循环体,执行完循环体再判断条件是否成立,成立就再执行循环,…,以此类推,判断条件的时候条件不成立,循环就结束
案例:使用while循环控制程序打印5次'hello world!'
n = 0
while n < 5:
print('hello world!')
n += 1
)
遇到循环问题的时候优先考虑for循环,for循环解决不了的问题才使用while循环。
2.for和while的选择
for循环无法解决的问题:
1)死循环
2)循环次数不确定(循环的次数不由程序员决定,而是由使用这个程序的用户的行为决定)
# 循环次数不确定的案例:写程序提示用户输入密码,直到输入的密码和系统保存的密码相同为止。
pw = '123456'
while True:
a = input('请输入密码:')
if a == pw:
print('密码输入正确')
break
continue和break
1.continue - 结束一次循环
执行循环体的时候如果遇到了continue,档次循环结束,直接进入到下一次循环。
for x in range(5):
print('=======')
continue
print('+++++++')
print('-------')
#打印1~10中的所有偶数
for x in range(1,11):
if x % 2 == 1:
continue
print(x)
for x in range(1,11):
if x % 2 == 0:
print(x)
2.break - 结束整个循环
执行循环体的时候如果遇到break,整个循环直接结束(循环体剩下的部分不在执行,也不会进入下一次循环)
for x in range(5):
print('=======')
break
print('+++++++')
print('-------')
for x in range(1,11):
if x % 5 == 0:
break
print(x)
3.break的应用 - 当while遇到break
while True:
需要重复执行的操作
if 循环结束的条件:
break
案例:写程序提示用户输入密码,直到输入的密码和系统保存的密码相同为止。
pw = '123123'
while True:
value = input('请输入密码:')
if value == pw:
break
练习:用程序实现猜数字游戏的功能
"""
系统随机产生一个0~100的随机数:
请输入你猜的数字:50
大了,再小点!
请输入你才的数字:25
小了,再大点!
请输入你猜的数字:30
小了,再大点儿!
...
请输入你猜的数字:45
恭喜你,猜对了!
"""
from random import randint
num = randint(0, 100)
c = 0
while True:
x = int(input('请输入你猜的数字(0~100):'))
if x > num:
print('大了,再小点!')
elif x < num:
print('小了,再大点!')
else:
print('恭喜你,猜对了!')
c += 1
break
c += 1
if c >= 7:
print(c,'次都猜不对,游戏结束')
break
if c < 7:
print('你猜对用了',c,'次')
循环的else
1.完整的循环结构
-
完整的for循环
for 变量 in 序列:
循环体
else:
代码段 -
完整的while循环
while 条件语句:
循环体
else:
代码段
2.循环else的作用
- else的存在不影响原来循环的执行
- 如果前面的循环是正常结束(for把数据取完了导致循环结束;while循环的条件不成立导致循环结束)的,else后面的代码段会在循环结束后执行;
如果前面的循环是因为遇到break而结束的,循环结束后不会执行else后面的代码段
for x in range(5):
print('hello world!')
if x == 2:
break
else:
print(100)
练习:判断字符串是否是纯字母字符串
str1 = 'h2sjskHJKs'
for x in str1:
if not ( 'a' <=x<= 'z'or 'A'<= x <= 'Z'):
print(str1,'不是纯字母字符串')
break
else:
print(str1, '是纯字母字符串')
3940



被折叠的 条评论
为什么被折叠?



