Python循环语句(二)

二.for循环

1.1for循环的基础语法

while循环和for循环的区别

  1. while循环的循环条件是自定义的,自行控制循环条件

  2. for循环是一种轮询机制,是对一批内容进行逐个处理
    在这里插入图片描述
    for循环的语法格式
    for 临时变量 in 待处理数据集:
    循环满足条件时执行的代码

    for循环的注意点

    • 无法定义循环条件,只能被动取出数据处理
    • 要注意,循环内的语句,需要有空格缩进
      练习-数一数几个a
 name = "itheima is a brand of itcast"
count = 0
for x in name:
    if x == "a":
        count += 1
print(f"itheima is a brand of itcast一共含有{count}个a")
###输出
itheima is a brand of itcast一共含有4个a

1.2range语句

range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
如range(5)取得的数据是:[0, 1, 2, 3, 4]

range(num1,num2)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
如,range(5, 10)取得的数据是:[5, 6, 7, 8, 9]

range(num1,num2,step)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准(step默认为1)
如,range(5, 10, 2)取得的数据是:[5, 7, 9]

for x in range(10):
    print(x)
#输出
0
1
...
9

for x in  range(5,10):
    print(x)
#输出
5
...
9

for x in range(5,10,2):
    print(x)
#输出
5
7
9

练习1-100有几个偶数

count = 0
for x in range(1,100):
    if ( x % 2 )  == 0:
        count += 1
print(f"1-100不包含100,一共有{count}个偶数"
#输出
1-100不包含100,一共有49个偶数

1.3变量作用域

  1. for循环中的临时变量,其作用域限定为:循环内
  2. 这种限定:
    是编程规范的限定,而非强制限定
    不遵守也能正常运行,但是不建议这样做
    如需访问临时变量,可以预先在循环外定义它

2.for循环嵌套

在这里插入图片描述
注意事项

  • 需要注意缩进,嵌套for循环同样通过缩进确定层次关系
  • for循环和while循环可以相互嵌套使用
i=1
for i in range(1,101):
    print(f"今天是表白的第{i}天")
    for j in range(1,11):
        print(f"给小美送的第{j}朵玫瑰花")
    print("小美,我喜欢你")
print(f"今天是表白的第{i}天,表白成功")
###输出
D:\APP\python\python.exe D:\python-learn\for循环嵌套.py 
今天是表白的第1天
给小美送的第1朵玫瑰花
给小美送的第2朵玫瑰花
给小美送的第3朵玫瑰花
给小美送的第4朵玫瑰花
给小美送的第5朵玫瑰花
给小美送的第6朵玫瑰花
给小美送的第7朵玫瑰花
给小美送的第8朵玫瑰花
给小美送的第9朵玫瑰花
给小美送的第10朵玫瑰花
小美,我喜欢你
...
今天是表白的第100天
给小美送的第1朵玫瑰花
给小美送的第2朵玫瑰花
给小美送的第3朵玫瑰花
给小美送的第4朵玫瑰花
给小美送的第5朵玫瑰花
给小美送的第6朵玫瑰花
给小美送的第7朵玫瑰花
给小美送的第8朵玫瑰花
给小美送的第9朵玫瑰花
给小美送的第10朵玫瑰花
小美,我喜欢你
今天是表白的第100天,表白成功

练习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 * 1 = 1	
2 * 1 = 2	2 * 2 = 4	
3 * 1 = 3	3 * 2 = 6	3 * 3 = 9	
4 * 1 = 4	4 * 2 = 8	4 * 3 = 12	4 * 4 = 16	
5 * 1 = 5	5 * 2 = 10	5 * 3 = 15	5 * 4 = 20	5 * 5 = 25	
6 * 1 = 6	6 * 2 = 12	6 * 3 = 18	6 * 4 = 24	6 * 5 = 30	6 * 6 = 36	
7 * 1 = 7	7 * 2 = 14	7 * 3 = 21	7 * 4 = 28	7 * 5 = 35	7 * 6 = 42	7 * 7 = 49	
8 * 1 = 8	8 * 2 = 16	8 * 3 = 24	8 * 4 = 32	8 * 5 = 40	8 * 6 = 48	8 * 7 = 56	8 * 8 = 64	
9 * 1 = 9	9 * 2 = 18	9 * 3 = 27	9 * 4 = 36	9 * 5 = 45	9 * 6 = 54	9 * 7 = 63	9 * 8 = 72	9 * 9 = 81	

3.循环中断

continue关键字用于:中断本次循环,直接进入下一次循环
continue可以用于: for循环和while循环,效果一致

#演示continue
for i in range(1,3):
    print("语句1")
    for i in range(1,3):
        print("语句2")
        continue
        print("语句3")
    print("语句4")
###输出
语句1
语句2
语句2
语句4
语句1
语句2
语句2
语句4

break关键字用于:直接结束所在循环
break可以用于: for循环和while循环,效果一致

for  i  in range(1,101):
    print("语句1")
    break
    print("语句2")
print("语句3")
###输出
语句1
语句3

作用
continue的作用是:
中断所在循环的当次执行,直接进入下一次

break的作用是:
直接结束所在的循环
注意事项:

  • continue和break,在for和while循环中作用一致
  • 在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用

综合案例

money = 10000
for x in range(1,21):
    import random
    source = random.randint(1, 10)
    if source < 5:
        print(f"员工{x},绩效{source}分,低于5分,不发工资,下一位")
        continue
    else:
        money -= 1000
        print(f"向员工{x}发工资,账户余额{money}元")
        if money == 0:
            print("工资发完了")
            break
###输出结果
员工1,绩效4分,低于5分,不发工资,下一位
向员工2发工资,账户余额9000元
员工3,绩效1分,低于5分,不发工资,下一位
向员工4发工资,账户余额8000元
向员工5发工资,账户余额7000元
向员工6发工资,账户余额6000元
员工7,绩效4分,低于5分,不发工资,下一位
向员工8发工资,账户余额5000元
向员工9发工资,账户余额4000元
员工10,绩效4分,低于5分,不发工资,下一位
员工11,绩效1分,低于5分,不发工资,下一位
向员工12发工资,账户余额3000元
向员工13发工资,账户余额2000元
向员工14发工资,账户余额1000元
员工15,绩效1分,低于5分,不发工资,下一位
员工16,绩效2分,低于5分,不发工资,下一位
向员工17发工资,账户余额0
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值