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