1. while循环
1.1 while循环
-
语法:
while 条件语句:
循环体
-
执行过程
先判断条件是否成立,成立就执行循环体,执行完循环再判断条件条件是否成立,成立就再执行循环,…以此类推,判断条件的时候条件不成立,循环就结束。
案例:使用while循环控制程序打印五次“hello world”
i = 1
while i < 5:
print('hello world')
i += 1
建议:尽量不使用while循环(遇到循环问题的时候优先考虑for循环)
1.2 for和while的选择
遇到循环的时候优先考虑for循环,for循环解决不了的在使用while循环。
for循环无法解决的问题:
-
死循环
-
循环次数不确定(循环次数不由程序员决定,由用户使用这个程序时的行为决定)
循环次数不确定的案例:写程序提示用户输入密码,知道输入的密码和系统保存的密码相同时为止。
pw = '12345' value = input('请输入密码:') while value != pw: i = input('请重新输入密码') print('密码正确')
2. continue和break
continue和break是循环关键字,只能在循环体中使用
2.1 continue - 结束一次循环
执行循环体的时候如果遇到conti,档次循环结束,直接进入到下一次循环。
案例:打印1~10中所有的偶数
#方法1:
for i in range(1, 11):
if i % 2 == 1:
continue
print(i)
方法2:
for i in range(1, 11):
if i % 2 ==0:
print(i)
2.2 break - 结束整个循环
执行循环体时如果遇到break,直接结束整个循环(循环体剩下的部分不再执行,也不会进入下一次循环)
案例:
for x in range(5):
print('=======')
break
print('+++++++')
print('-------')
结果:
'''
=======
'''
or x in range(1, 11):
if x % 5 == 0:
break
print(x)
print('x:', x)
结果
'''
1
2
3
4
5
x:5
'''
2.3 break的应用 - 当while遇到break
语法:
while True:
需要重复执行的操作
if 循环结束的条件
break
案例:写程序提示用户输入密码,直到输入的密码和系统保存的密码相同为止。
pw = '12345'
while True:
value = input('请输入密码:')
if value == pw:
preak
练习:使用程序实现猜数字游戏的功能
from random import randint
num = randint(0, 100)
while True:
value = int(input('请输入你猜的数字(0~100)'))
if value > num:
input('数字大了,请重新输入:')
elif value < nume:
input('数字小了,请重新输入:')
else:
input('恭喜你,猜对了')
break
3. 循环的eles
3.1 完整的循环结构
-
完整的for循环:
for 变量 in 序列:
循环体
eles:
代码段
-
完整的while循环
while 条件语句:
循环体
else:
代码段
3.2 循环eles的作用
- eles的存在不影响原有循环的执行
- 如果前面的循环是正常结束(for把数据取完了导致循环结束;while循环的条件不成立导致循环结束)的,else后面的代码会在循环结束后执行
练习:判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)
num = int(input('输入一个数:'))
for i in range(2, num):
if num % x == 0:
print(num, '不是素数')
brea
eles:
print(num, '是素数')
练习2:判断字符串是否是纯字母字符串
str1 = input('输入一个字符串:')
for i in str1:
if not('a' <= 'i' <= 'z' or 'A' <= 'i' < 'Z'):
print(str1, '不是纯字母字符串')
break
eles:
pring(str1, '是纯字母字符串')