第三章 python循环语句
3.1 while 循环的基础语法
3.1.1while循环基础语法
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
…
只要条件满足,会无限循环执行
i = 0
while i < 100:
print("你是大帅比")
i = i +1
注意:
1.条件需提供布尔类型结果,True继续,False停止
2空格缩进不能忘
3.请规划好循环终止条件,否则将无限循环
3.1.2练习案例
通过while循环,计算从1累加到100
i = 1
sum = 0
while i < 100:
sum = sum + i
i = i + 1
print(sum)
3.2 while循环的基础案例
设置一个范围1-100的随机整数变量,通过while循环,配合input语句,判断输入的数字是否等于随机数
无限次机会,直到猜中为止
每一次猜不中,会提示大了或者小了
猜完数字后,提示猜了几次
import random
num = random.randint(1,100)
num_guess = int(input("请输入你猜的结果:"))
while num != num_guess:
if num > num_guess:
print("小了")
else:
print("大了")
num_guess = int(input("请输入你猜的结果:"))
print("猜对了!")
3.3 while 循环的嵌套应用
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
…
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
…
i = 0
while i < 100:
print(f"今天是第{i}天,准备表白")
j = 1
while j <= 10:
print(f"送给小美第{j}朵玫瑰花")
j = j + 1
print("小美,我喜欢你!")
i = i + 1
print(f"坚持到第{i}天,表白成功!")
注意:
注意条件的控制,避免无限循
多层嵌套,主要空格缩进来确定层次关系
3.4 while 循环的嵌套案例
3.4.1 不换行功能
print("hello",end='')
print("world",end='')
3.4.2 制表符
一个特殊符号:\t,效果等同于在键盘上按下tab键。
它可以让我们的多行字符串进行对齐
print("hello\tworld")
print("itemima\tbest")
3.4.3 打印99乘法表
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{i}*{j} = {i*j}\t",end='')
j = j + 1
i = i +1
print()
3.5 for循环的基础语法
3.5.1 基础语法
for 临时变量 in 待处理数据集
循环满足条件时执行的代码
name = "itheima"
for x in name:
print(x)
注意:
无法定义循环条件的,只能从被处理的数据集中,依次取出内容处理
循环内的语句,需要有空格缩进
3.5.2 range语句
3.5.2.1 rang(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
range(5)取得的数据是:[0,1,2,3,4]
3.5.2.2 rang(num1,num2)
获取一个从num1开始,到num2结束的数字序列(不含num2本身)
range(5,10)取得的数据是:[5,6,7,8,9]
3.5.2.3 rang (num1,num2,step)
获取一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准(step默认为1)
range(5,10,2)取得的数据是:[5,7,9]
3.5.2.4 案例
定义一个数字变量num,内容随意
并使用range( )语句,获取从1到num的序列,使用for循环遍历它
在遍历过程中,统计有多少个偶数出现
count = 0
for x in range(10):
if x%2 ==0:
count = count + 1
print(count)
3.5.3 变量作用域
for循环中的临时变量,其作用域限定为:
循环内
3.6 for循环的嵌套应用
3.6.1 嵌套应用
for 临时变量 in 待处理数据集(序列):
循环满足条件时应该做的事情1
循环满足条件时应该做的事情2
…
for 临时变量 in 待处理数据集(序列):
循环满足条件时应该做的事情1
循环满足条件时应该做的事情2
…
for i in range(1,101):
print(f"今天是向小美表白的第{i}天")
for i in range(1, 101):
print(f"送给小美的第{j}朵玫瑰花")
print(f"小美,我喜欢你(第{i}天的表白结束)")
print(f"第{i}天,表白成功")
3.6.2 案例
打印99乘法表
for i in range(1,10):
for j in range(1, 1 * i):
print(f"{j} * {i} = {j*i}\t ",end='')
print( )
3.7 循环中断:break和continue
3.7.1 continue
中断所在循环1的当次执行,直接进入下一次循环
可用于for循环和while循环,效果一致
3.7.2 break
直接结束循环
可用于for循环和while循环,效果一致
3.8 综合案例
某公司,账户余额有1w元,给20名员工发工资
员工编号从1到20,从编号1开始,依次领取工资,每人可领1000元
领工资时,财务判断员工的绩效分(1-10)(随机生成),如果低于5,不发工资,换下一位
如果工资发完了,结束发工资
money = 10000
for i in range(1,21):
import random
score = random.randint(1,10)
if score < 5:
print(f"员工{i}绩效分{score},不满足")
continue
if money >= 1000:
money -= 1000
print(f"员工{i},满足条件发放工资1000元,公司余额:{money}")
else:
print(f"余额不足,公司余额:{money},下月再发!")
break