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('这个数是素数')