1)基础语法
for 临时变量 in 被处理的数据:
name = "hello"
for x in name:
# 将name的内容挨个取出赋予x临时变量
# 就可以在循环体内对x进行处理
print(x)
h
e
l
l
o
注意:
同while循环不同,for循环是无法定义循环条件的,只能从被处理的数据集中,依次取出内容进行处理
例子:计算字母a和空格出现的次数
# 计算语句里有多少个a和空格
string_txt = "it heima is a brand of it cast"
count = 0
sum = 0
for x in string_txt:
if x == "a":
count += 1
elif x == " ":
sum += 1
print(f"句子中一个有{count}个a")
print(f"句子中一个有{sum}个空格")
句子中一个有4个a
句子中一个有7个空格
2)range语句
语法1:range(num)
获取从0开始,到num结束的数字序列(不含num本身)
如range(5)取得的数据是:[0, 1, 2, 3, 4]
语法2:range(num1, num2)
获取从num1开始,到num2结束的数字序列(不含num2本身)
如range(5, 8)取得的数据是:[5, 6, 7]
语法3:range(num1, num2,step)
获取从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准(step默认为1)
如range(5, 10, 2)取得的数据是:[5, 7, 9]
例子:
# 语法1:range(num)
print("语法1:range(num)")
for x in range(4):
print(x)
# 语法2:range(num1, num2)
print("语法2:range(num1, num2)")
for x in range(2, 6):
print(x)
# 语法3:range(num1, num2,step)
print("语法3:range(num1, num2,step)")
for x in range(5, 10, 2):
print(x)
语法1:range(num)
0
1
2
3
语法2:range(num1, num2)
2
3
4
5
语法3:range(num1, num2,step)
5
7
9
练习案例:1-100的偶数个数
# 练习案例:有几个偶数
count = 0
for x in range(1, 100):
if x % 2 == 0:
count += 1
print(f"1-100之间一共有{count}个偶数")
1-100之间一共有49个偶数
3)变量作用域
-
for循环的临时变量,其作用域限定为:循环内
-
这种限定:
-
是编程规范的限定,而非强制限定
-
不遵守也能正常运行,但是不建议这样做
-
如需访问临时变量,可以预先在循环外定义它
i = 0
for i in range(4)
print(i)
print(i)
0
1
2
3
3
4)for循环嵌套使用
for循环打印九九乘法表
# for循环嵌套打印九九乘法表
# 外层循环控制行数
for i in range(1, 10):
# 通过控制循环打印每一行的数据
for j in range(1, i + 1): #这里加 1 是因为range语句只执行到第 i 个数
print(f"{j}*{i}={i*j}\t",end='')
print()
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81