Python(黑马程序员)-for 循环

while 循环 和 for 循环的区别:

屏幕截图 2024-02-14 215331.png
屏幕截图 2024-02-14 215501.png

for 循环语句:

for 循环格式:

屏幕截图 2024-02-14 215616.png

代码展示:

# 定义字符串
name = "新年快乐"
# for循环处理字符串
for x in name:
    # 将 name 的内容,挨个取出赋予 x 临时变量
    # 在循环体中对 x 进行处理
    print(x)

屏幕截图 2024-02-14 215812.png

for 循环注意点:

屏幕截图 2024-02-14 220013.png

总结“:

屏幕截图 2024-02-14 220706.png
屏幕截图 2024-02-14 220115.png

小练习“

屏幕截图 2024-02-14 220230.png

"""
数一数有几个a
定义字符串变量 name 内容为:"happy new year"
通过 for 循环,遍历字符串,统计有几个字母a
"""
name = "happy new year"
count = 0
for name1 in name:
    if name1 == "a":
        count += 1
print(f"字符串{name}中共有{count}个a")

屏幕截图 2024-02-14 220610.png

range 语句:

range 语句语法:

  1. range(num):

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

  1. range(num1,num2):

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

  1. range(num1,num2,step):

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

代码展示:

# for 循环 从0 到 10(不含10)
print("语法一:")
for num in range(10):
    print(num)

# for 循环 从5 到 10(不含10)
print("语法2:")
for num in range(5, 10):
    print(num)

# for 循环 从5 到 10 (步长为3,不含10)
print("语句3:")
for num in range(5, 10, 3):
    print(num)

屏幕截图 2024-02-14 221750.png

总结:

屏幕截图 2024-02-14 221939.png

小练习:

屏幕截图 2024-02-14 222006.png

"""
有几个偶数
定义一个数字变量num,内容随意
并使用range()语句, 获取从1到num的序列,并使用 for 循环 遍历它
在遍历过程中,统计有多少偶数出现
"""

num = 10086
count = 0
for x in range(1, 10086):
    if x % 2 == 0:
        count += 1
print(f"从1到{num}中的偶数个数为:{count}")

屏幕截图 2024-02-14 222502.png

for 循环的变量作用域:

思考:

for i in range(5):
    print(i)
print(i)

屏幕截图 2024-02-14 225838.png
此时的第三行的print(i)能否访问到变量i?
事实上是可以的 ,但是从规范上来是不可以的;
屏幕截图 2024-02-14 225853.png
屏幕截图 2024-02-14 225933.png
因此我们在写代码时,应该在for循环之前将临时变量定义出来:

i = 0
for i in range(5):
    print(i)
print(i)

总结“

屏幕截图 2024-02-14 230119.png

for 循环的嵌套调用:

屏幕截图 2024-02-14 230302.png

代码展示:

i = 1
for i in range(1, 11):
    print(f"今天是敲代码的第{i}天,坚持!")
    for j in range(1, 5):
        print(f"今天敲了{j}行代码。")
    print(f"代码敲完了,第{i}天的代码之旅结束。")
print(f"第{i}天,代码崩了!")

屏幕截图 2024-02-14 230928.png

总结:

屏幕截图 2024-02-14 231143.png

小练习:

屏幕截图 2024-02-14 231208.png

"""
使用 for 循环 打印 九九乘法表
"""
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j} * {i} = {i * j}\t", end='')
    print()

屏幕截图 2024-02-14 231609.png

循环的中断(continue, break):

引言:

无论是 while 循环 还是 for 循环 我们在编写完代码以后,程序运行的时候,是无法自行进行中断的,就比如:

for i in range(1,10):
    print(i)

我们只能等它循环9次完毕;
为了能够提前结束,我们可以使用 continue 或者 break:
continue 是跳过本次循环;
break 是结束循环;

"""
continue break
"""

for i in range(1, 10):
    if i == 5:
        break;

for i in range(1, 10):
    if  i == 5:
        continue

屏幕截图 2024-02-14 232332.png屏幕截图 2024-02-14 232343.png

综合案例:

屏幕截图 2024-02-14 232610.png

"""
发工资

某公司,账户余额1w元,给20名员工发工资。
· 员工编号从1到20,从编号1开始,一次领取工资,每人可领取1000元
· 领工资时,财务判断员工的绩效分(1--10)(随机生成),如果低于5,不发工资,换下一位
· 如果工资发完了,结束发工资。
"""
# 公司账户余额
total_money = 10000
# 员工编号
for id_num in range(1, 21):
    score = random.randint(1, 10)
    if score < 5:
        print(f"员工{id_num}绩效小于5分,不发工资,下一位。")
        continue
    else:
        print(f"向员工{id_num}发放工资1000元。")
        total_money -= 1000
    if total_money == 0 or id_num == 20:
        break
print(f"工资发放完毕,账户余额{total_money}元。")

屏幕截图 2024-02-14 234048.png

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值