9.17日
一、while循环
1.语法
while 条件语句:
? 循环体(代码段)
(可以理解为当。。。的时候)
说明:
1)while --关键字,固定写法
2)条件语句 – 任何有结果的表达式(赋值语句不行)
3):冒号 — 固定写法,必须是英文符号
4)循环体 – 和while保持缩进的一条或者多条语句;把需要重复执行的代码放进循环体
执行过程:
先判断条件语句是否为True,如果为True就执行循环体,
执行完循环体再来判断条件语句是否为True,为True就在执行循环体
以此类推,直到判断条件语句为False的时候,整个循环就结束。
num = 0
while num < 5:
print('=========')
num += 1
'''
num = 0
第一次循环:while 0 < 5 -> print('');num += 1 -> num = 1
第二次循环:while 1 < 5 -> print('');num += 1 -> num = 2
第三次循环:while 2 < 5 -> print('');num += 1 -> num = 3
第四次循环:while 3 < 5 -> print('');num += 1 -> num = 4
第五次循环:while 4 < 5 -> print('');num += 1 -> num = 5
第六次循环:while 5 < 5 -> False循环结束
(循环体执行了五次)
'''
练习:使用while循环打印数字序列:2 3 4 5 6 7 8
num = 1
while num < 8:
num += 1
print(num)
练习2:使用while循环一次打印数字序列: 1 3 5 7 9
num = 1
while num < 10:
print(num)
num += 2
二、for 循环和 while 循环的选择
**如果循环次数是确定的一般推荐使用for循环
如果循环次数不确定就是用while循环
练习:密码是123456 输入密码登陆成功
num = input('请输入密码')
while num != '123456':
print('输入密码错误!')
num = input('请输入密码')
print('登陆成功!')
练习:猜数字一到一百游戏
from random import randint
num = randint(0,100)
value = int(input('请猜一个数字'))
while value != num:
if value > num:
print('您猜大了!')
value = int(input('请猜一个数字'))
elif value < num:
print('您猜小了!')
value = int(input('请猜一个数字'))
print('您猜对了!')
原理:
系统随机产生一个数 86 请输入一个整数(0·100):50 小了,再大点儿 请输入一个整数(0·100):75 小了,再大点 请输入一个整数(0·100):90 小了,再大点 请输入一个整数(0·100):89 恭喜你,猜对了
三、循环关键字
1.continue – 结束一次循环
1)continue是循环体里边的关键字,不能放在循环体外
2)当执行循环体的时候如果遇到continue,那么当次循环结束,直接进入下一次循环的判断,一般用在循环的判断里
例如:
for x in range(3):
if x % 2:
continue
print(x)
#打印出来偶数,如果是奇数x%2为1是True所以会执行if分支结构,当执行if之后遇到continue则后面代码不执行直接又去上面循环。
2.break --结束整个循环
1)break只能出现在循环体中
2)功能:当执行循环体的时候遇到了break那么整个循环直接结束
for x in range(3):
print(x)
break
print(1)
只循环了一次输出了一个0 print(1)未执行循环就结束了
使用while循环的套路
while 条件语句:
? 需要重复执行的操作
? if 循环结束的条件
? break
例:
pw = '123456'
while True:
value = inpue('请输入密码')
if value == pw:
break
3.else
方法:
for循环: for 变量 in 序列: 循环体 else: 代码段
while循环:
while 条件语句: 循环体 else: 代码段
1)else的存在不会影响原来循环的执行
2)如果循环不是因为遇到break而结束,那么else后面的代码就会执行。
? 如果循环因为遇到break而结束,那么else后面的代码就不会执行。
如果一个循环想要在循环不成立时得出一个结论,那么可以用else
例1:
for x in range(3):
print('hello')
break
else:
print('')
练习:判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)
num = int(input('请输入一个整数:'))
for x in range(2,num)
if num % x :
break
print('这个数不是素数')
else:
print('这个数是素数')
|