while语句
程序中的循环
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时。做的事情3
...(省略)...
1.while的条件需得到布尔类型,Ture表示继续循环,False表示结束循环
2.需要设置循环终止的条件,如 i += 1 配合 i < 100 ,就能确保100次后停止,否则将无限循环
3.空格缩进和if判断一样,都需要设置
i = 0
while i < 100:
print("小玥,俺喜欢你")
i += 1
print(f"恭喜你,在你表白{i}次后终于成功了")
"""
通过while循环,计算累计从1加到100的和
"""
sum = 0
sing = 1
while sing <= 100:
sum += sing
sing += 1
print(sum)
while循环基础案例
import random
print("***您好,这是一个猜数字的小游戏***")
print("猜数字的范围是1-100")
num = random.randint(1,100)
sign = True
count = 0
while sign:
user_input = int(input("请输入一个1-100的数:"))
if user_input == num:
print("恭喜您猜中了")
count += 1
sign = False
else:
if user_input > num:
print("您猜的数字大了")
count += 1
else:
print("您猜的数字小了")
count += 1
print(f"您最终猜了{count}次,祝您游戏愉快")
while循环的嵌套运用
程序中的循环
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
条件1满足时,做的事情3
...(省略)...
while 条件2:
条件1满足时,做的事情1
条件1满足时,做的事情2
条件1满足时,做的事情3
# 外层:表白一百天
# 内层:每天的表白都送10只玫瑰花
i = 1
while i <= 100:
print(f"今天是第{i}天,准备表白")
j = 1
while j <= 10:
print(f"送给小妹的第{j}只玫瑰花")
j += 1
print("小妹我喜欢你")
i += 1
print(f"今天是第{i-1}天,表白成功")
while循环的嵌套案例
补充知识:
打印九九乘法口诀表
# 我打的
i = 1
count = 0
while i < 10:
j = 1
j += count
while j < 10:
print(f"{i} * {j} = {i * j}\t",end='')
j += 1
print('')
count += 1
i += 1
# 老师的
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j} * {i} = {i * j}\t",end = '')
j += 1
i += 1
print()
for循环
程序中的for循环
for 临时变量 in 待处理的数据集:
循环满足条件时执行的代码
name = "itheima"
for x in name:
# 将name的内容,挨个取出赋值给x临时变量
# 就可以在循环体内对x进行处理
print(x,end='')
for循环注意点
同while循环不同,for循环时无法定义循环条件的。
只能从被处理的数据集中,以及取出内容进行处理
for 变量 in 被处理的数据集
所以,从理论上讲,python的for循环无法构建无限循环(被处理的数据集不可能无限大)
1. for循环的语法格式是:
for 临时变量 in 待处理的数据集(序列):
循环满足条件时执行的代码
2. for循环的注意点
无法定义循环条件,只能被动取出数据处理
要注意,循环内的语句,需要有空格缩进
# 数一数有几个a
name = "itheima is a brand of itcast"
count = 0
for x in name:
if x == 'a':
count += 1
print(f"总共有{count}个a")
range语句
for 临时变量 in 待处理的数据集:
循环满足条件时执行的代码
语法中的:待处理的数据集,严格来说称之为:序列类型
序列类型指,其内容可以一个一个依次取出的一种类型,包括:
字符串
列表
元组
等
range语句
for循环语句,本质上是遍历:序列类型
尽管除字符串外,其它的序列类型目前没学习到,但是不妨碍我们通过学习range语句,获得一个简单的数字序列。
语法1:
range(num)
获取一个从0开始,到num结束的数字序列(不包含num本身)
如range(5)取得的数据时:[0,1,2,3,4]
语法2:
range(num1,num2)
获取一个从num1开始,到num2结束的数字序列(不含num2本身)
如,range(5,10)取得的数据时:[5,6,7,8,9]
语法3:
range(num1,num2,step)
获取一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准(step默认为1)
如,range(5,10,2)取得的数据是:[5,7,9]
"""
演示python中的range()语句的基本使用
"""
# range 语法1:range(num)
for x in range(5):
print(x)
# range 语法2:range(num1,num2)
for x in range(2,8):
print(x)
# range 语法3:range(num1,num2,step)
for x in range(2,8,3):
print(x)
num = 10086
count = 0
if num%2 == 0:
for x in range(1,num+1):
if x%2 == 0:
count += 1
else:
for x in range(1,num):
if x%2 == 0:
count += 1
print(f"1-{num}(包含{num})共有{count}个偶数")
for循环的嵌套应用
程序中的for循环
for 临时变量 in 待处理的数据集(序列):
循环满足条件应做的事情1
循环满足条件应做的事情2
循环满足条件应做的事情N
......
for 临时变量 in 待处理数据集(序列):
循环满足条件应做的事情1
循环满足条件应做的事情2
循环满足条件应做的事情N
"""
演示嵌套应用for循环
"""
# 坚持表白100天,每天都送10朵花
i = 0
for i in range(1,101):
print(f"今天是向小妹表白的第{i}天")
for j in range(1,11):
print(f"这是给小妹送的第{j}朵玫瑰")
print("小妹我喜欢你")
print(f"第{i}天,表白成功")
continue和break控制循环结束
continue
continue关键字用于:中断本次循环,直接进入下一次循环
continue可以用于:for循环和while循环,效果一致
for i in range(1,6):
print("gogogo")
continue
print("movemove")
break
break关键字用于:直接结束循环
break可以用于:for循环和while循环,效果一致
for i in range(1,6):
print("gogogo")
break
print("movemove")
continue的作用是:
中断所在循环的当次执行,直接进入下一次
break的作用是:
直接结束所在的循环
注意事项:
continue和break,在for循环和while循环中的作用一致
在嵌套循环中,职能作用在所在的循环上,无法对上层循环起作用
综合案例
import random
salary = 10000
for i in range(1,21):
performance = random.randint(1, 10)
if performance < 5:
print(f"员工{i},绩效分{performance},低于5,不发工资,下一位")
else:
if salary == 0:
print("工资发完了,下个月领取吧")
break
else:
salary -= 1000
now_salary = salary
print(f"向员工{i}发放工资1000元,账户余额还剩{now_salary}元")
print(salary)