while和循环关键字
1. while循环
语法:
while 条件语句:
? 循环体
说明:
while - 关键字:固定写法
条件语句 - 任何有结果的表达式
-
- 固定写法
循环体 - 和while保持一个缩进的一条或多条语句(至少一条(可pass占位));需要重复执行的代码
执行过程:
先判断条件语句是否为True,如果为True就执行循环体,
执行完循环体再来判断条件语句是否为True,为True就再执行循环体,
…
以此类推,直到判断条件语句为False,整个循环结束
练习:
n = 2
while n <= 8:
print(n)
n += 1
n = 1
while n <=10:
print(n)
n += 2
2. for循环和while循环的选择
如果循环次数确定一般使用for循环,如果循环次数不确定就使用while
练习:
-
验证密码
pw = '123456'
while input('请输入密码:') != pw:
print('密码错误,请重新输入密码:')
print('密码正确')
pw = '123456'
while True:
if input('请输入密码:') == pw:
print('密码正确')
break
else:
print('密码错误,请重新输入密码:')
-
猜数字游戏
from random import randint
num = randint(0,100)
while True:
n = int(input("请输入一个0~100的整数:"))
if n < num:
print('请大一点:')
elif n > num:
print('请小一点:')
else:
print('正确')
break
from random import randint
num = randint(0,100)
n = int(input("请输入一个0~100的整数:"))
while n != num:
if n < num:
print('请大一点:')
elif n > num:
print('请小一点:')
n = int(input("请输入一个0~100的整数:"))
print('正确')
2. 循环关键字
2.1 continue
continue - 结束一次循环
for x in range(10):
if x % 2:
continue
print(x)
for x in range(10):
if x % 2 == 0:
continue
print(x)
2.2 break
2.3 使用while循环的套路
使用while循环的套路:
while True:
? 需要重复执行操作
? if 循环结束的条件:
? break
pw = '123456'
while True:
value = input('请输入密码:')
if value == pw:
break
2.3 else
完整的for循环和while循环:
for 变量 in 序列:
? 循环体
else:
? 代码段
-
while循环:
while 条件语句:
? 循环体
else:
? 代码段
结论:
-
else的存在不影响原循环的执行 -
如果循环不是因为遇到break而结束(自然死亡),那么else后面的代码段就会执行。 如果循环因为遇到break而结束(非自然死亡),那么else后面的代码段就不会执行。 -
循环的自然死亡: for循环:变量取不到下一个值造成的循环死亡 while:当循环条件为False造成的循环死亡
for x in range(3):
print('hao')
else:
print('结束')
for x in range(3):
print('hao')
break
else:
print('结束')
练习:
-
判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数) num = 23
for x in range(2, num):
if num % x == 0:
print('不是素数')
break
else:
print('素数')
优化循环次数:除数只需要增加到改数的开方(需要取到它的开方) num = 23
for x in range(2, int(num ** 0.5) + 1):
if num % x == 0:
print('不是素数')
break
else:
print('素数')
|