day4- while循环和循环关键字
1while循环
语法:
while 条件语句:
循环体
说明:
a.while - 关键字,固定写法
b.条件语句 - 任何有结果的表达式,数据
c.: - 固定写法
d.循环体 - 和while保持一个缩进的一条语句或多条语句,需要重复执行的代码
执行过程:
先判断条件语句是否为True,如果为True就执行循环体,执行完循环体再来判断条件语句是否为True,为True就再执行循环体,...,以此类推,直到判断语句为False,整个循环就结束
value = 0
while value < 5:
print('=====')
value += 1
"""
第一次循环:while 0 < 5(True) -->print('=====');value += 1 --> value = 1
第二次循环:while 1 < 5(True) --> print('====');value += 1 -->value = 2
第三次循环:while 2 < 5(True) --> print('====');value += 1 -->value = 3
第四次循环:while 3 < 5(True) --> print('====');value += 1 -->value = 4
第五次循环:while 4 < 5(True) --> print('====');value += 1 -->value = 5
第六次循环:while 5 < 5(True) --> 循环结束
"""
# 使用while循环打印数字序列:2,3,4,5,6,7,8
num = 1
while num < 8:
num += 1
print(num, end=' ')
# 使用while循环依次打印数字序列1,3, 5,7,9
num = 1
while num < 10:
print(num, end=' ')
num += 2
2.for循环和while循环的选择
如果循环次数确定,一般推荐使用for循环,如果循环次数不确定就是while
# 设定密码,判断输入的密码是否正确,正确提示‘登录成功’,错误提示‘重新输入’
# 分析:因为我们不知道输入密码这个操作会执行几次,错误几次,所以使用while循环
pw = '123456'
value = input('请输入密码:')
while value != pw:
value = input('请重新输入:')
print('登陆成功')
# 猜数字游戏,随机产生一个正整数,输入正整数判断大小,大了提示‘大了,再小点’,小了提示‘小了,再大点’,正确提示‘恭喜你,猜对了’
# 导入产生正整数的随机函数
from random import randint
# 产生0~100的随机正整数,并且保存到变量中
value = randint(0,100)
num = int(input('请输入一个正整数:'))
while num != value:
if num < value:
print('小了,再大点')
else:
print('大了,再小点')
num = int(input('请输入你猜的数:'))
print('恭喜你,猜对了')
3循环关键字
1.continue
"""continue - 结束一次循环
1)continue只能出现在循环体中
2)当执行循环体的时候如果遇到continue就结束当次循环,直接进入下次循环
"""
# 打印0~10的偶数
for x in range(11):
if x % 2:
continue
print(x, end=' ')
2.break
"""
break - 结束整个循环
1)break只能出现在循环体中
2)当执行循环体的时候遇到break,那么整个直接结束循环
"""
# 输入密码用break
pw = '123456'
num = input('请输入你的密码:')
while True:
num = input('请输入你的密码:')
if pw == num:
break
"""
while循环的套路
whle True:
需要循环执行的操作
if 循环结束的条件:
break
"""
3.else
"""
for循环
for 变量 in 序列:
循环体
else:
代码段
while循环
while 条件语句:
循环体
else:
代码段
1)else的存在不影响原来循环的存在
2)如果循环不是因为遇到break而结束(自然死亡),那么else后面的代码就会执行,如果循环是因为遇到break而结束(非自然死亡),那么else后面的代码不会执行
"""
# 判断输入的数是否是素数
num = int(input('请输入你要检查的数:'))
for x in range(2, num):
if num % x == 0:
break
else:
print(num, '是素数')