Python基础:13、for循环

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)变量作用域
  1. for循环的临时变量,其作用域限定为:循环内

  2. 这种限定:

  • 是编程规范的限定,而非强制限定

  • 不遵守也能正常运行,但是不建议这样做

  • 如需访问临时变量,可以预先在循环外定义它

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

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值