for循环的基础语法
for 临时变量 in 待处理数据集:
循环满足时执行的代码
- 1
- 2
name = "itxixi"
for x in name:
# 将name的内容,挨个取出赋值于x临时变量
# 就可以在循环体内对x进行处理
print(x)
- 1
- 2
- 3
- 4
- 5
- 6
# 运行结果:
i
t
x
i
x
i
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
for循环注意点
1.无法定义循环条件,只能被动取出数据处理
2.要注意,循环内的语句,需要有空格缩进
for练习
查看字符串中a的数量
name = "itxixi is a brand of itcast"
# 定义一个变量来统计有多少个字母a
num = 0
for x in name:
if x == 'a':
num += 1
print(f"a的数量是:{num}")
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
# 运行结果
a的数量是:3
- 1
- 2
range语句
语法1
range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
如range(5)取得的数据是:[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]
# range语法1 range(num)
for x in range(10):
print(x)
# 语法2 range(num1,num2)
for x in range(5, 10):
print(x)
# 语法3 range(num1,num2,stap)
for x in range(0, 10, 3):
print(x)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
可以通过range()控制for循环执行的次数
for x in range(10):
print("xixi")
- 1
- 2
- 3
for循环的变量作用域
for i in range(5):
print(i)
print(i)
- 1
- 2
- 3
- 4
能访问到 但是编译器不确定i是否定义 不规范
想要规范可以在循环外定义i
i= 0
for i in range(5):
print(i)
print(i)
- 1
- 2
- 3
- 4
- 5
for循环的嵌套
语法
# 注意缩进
for 临时变量 in 待处理的数据集(序列):
循环满足条件应做的事情1
循环满足条件应做的事情2
循环满足条件应做的事情N
...
for 临时变量 in 待处理的数据集(序列):
循环满足条件应做的事情1
循环满足条件应做的事情2
循环满足条件应做的事情N
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
for s in range(1,101):
print(f"第{s}天")
for b in range(1,11):
print(f"扔第{b}坨shi")
- 1
- 2
- 3
- 4
循环中断:break和continue
continue关键字用于:中断本次循环,直接进入下次循环
可以用于while和for循环,效果一致
for i in range(1,100):
语句1
continue
语句2
- 1
- 2
- 3
- 4
在循环内,遇到continue就会结束当次循环,进行下一次,所以语句2是不会被执行的
应用场景:在循环中,因为某些原因,临时结束本次循环
for i in range(1, 3):
print("语句1")
continue
print("语句2")
- 1
- 2
- 3
- 4
- 5
运行结果:
语句1
语句1
- 1
- 2
- 3
执行两次语句1 不会执行语句2
for i in range(1, 3):
print("语句1")
for j in range(1, 3):
print("语句2")
continue
print("语句3")
print("语句4")
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
运行结果:
语句1
语句2
语句2
语句4
语句1
语句2
语句2
语句4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
break
break关键字用于:直接结束循环
break可以用于:for循环和while循环,效果一致
for i in range(1, 100):
语句1
break
语句2
语句3
- 1
- 2
- 3
- 4
- 5
- 6
循环中遇到break循环就结束了,所以只执行了语句1直接执行语句3了
for i in range(1, 100):
print("xixi")
break
print("haha")
print("hehe")
- 1
- 2
- 3
- 4
- 5
- 6
运行结果:
xixi
hehe
- 1
- 2
- 3
遇到break不管循环还有多少次 直接结束
break和continue都只能对所在的循环生效
for i in range(1, 4):
print("语句1")
for j in range(1, 3):
print("语句2")
break
print("语句3")
print("语句4")
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
运行结果:
语句1
语句2
语句4
语句1
语句2
语句4
语句1
语句2
语句4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
循环综合案例
import random
Sum = 10000
for i in range(1, 21):
num = random.randint(1, 10)
if Sum > 0:
if num < 5:
print(f"员工{i},绩效分{num},小于5,不发工资,下一位")
continue
if num > 5:
Sum -= 1000
print(f"向员工{i}发放工资1000元,账户余额还有{Sum}元")
else:
print(f"余额不足")
break
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
for循环99乘法表
# 通过外层循环控制行数
for i in range(1, 10):
# 通过内层循环控制每一行的数据
for j in range(1, i+1):
print(f"{i} * {j} = {i * j} \t", end='')
print()
- 1
- 2
- 3
- 4
- 5
- 6
- 7