Python学习打卡:day04

day4

笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了

28、while 循环的嵌套应用

基本语法格式:
在这里插入图片描述

注意事项

  1. 同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进。
  2. 基于空格缩进来决定层次关系
  3. 注意条件的设置,避免出现无限循环(除非真的需要无限循环)

示例程序:

"""
演示 while 循环的嵌套使用
"""

# 外层:表白 100 天的控制
# 内层:每天的表白都送 10 只玫瑰花的控制

i = 1
while i <= 100:
    print(f"今天是第 {i} 天,准备表白......")

    # 内层循环的控制变量
    j = 1
    while j <= 10:
        print(f"送给小美第 {j} 只玫瑰花")
        j += 1
    print("小美,我喜欢你")
    i += 1

print(f"坚持到第 {i-1} 天,表白成功。")

29、while 循环案例 — 九九乘法表

补充知识

  1. print 输出不换行

    print("hello", end='')
    print("hello", end='')
    
  2. 制表符 \t

    print("hello\tworld")
    print("itheima\tbest")
    

示例:九九乘法表

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{i}*{j}={i*j}\t", end='')
        j += 1
    print()
    i += 1

输出结果:

在这里插入图片描述

30、for 循环基本语法

while 和 for 循环对比

  • while循环的循环条件是自定义的,自行控制循环条件
  • for循环是一种”轮询”机制,是对一批内容进行”逐个处理”

for 循环

在这里插入图片描述

基本语法格式:
在这里插入图片描述

从待处理数据集中:逐个取出数据,赋值给临时变量。

示例

"""
演示 for 循环的基础语法
"""
name = "itheima"
for x in name:
    # 将 name 的内容,挨个取出赋予 x 临时变量
    # 就可以在循环体内对 x 进行处理
    print(x)

for循环是将字符串的内容:依次取出,所以,for循环也被称之为:遍历循环

理论上讲,Python的for循环无法构建无限循环(被处理的数据集不可能无限大

注意点

for循环的注意点:

  • 无法定义循环条件,只能被动取出数据处理;
  • 要注意,循环内的语句,需要有空格缩进。

31、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")

32、range 语句

在这里插入图片描述

语法中的:待处理数据集,严格来说,称之为:可迭代类型

可迭代类型指,其内容可以一个个依次取出的一种类型,包括:字符串、列表、元组等。

其中,可迭代类型可以是 range

1、语法1:range(num)

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

2、语法2:range(num1, num2)

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

3、语法3:range(num1, num2, step)

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

示例:

"""
演示 Python 中的 range() 语句的基本使用
"""

# range 语法1:range(num)
for x in range(10):
    print(x)

# range 语法2:range(num1, num2)
for x in range(5, 10):
    # 从 5 开始,到 10 结束(不包含 10 本身)的一个数字序列
    print(x)

# range 语法3:range(num1, num2, step)
for x in range(5, 10, 2):
    # 从 5 开始,到 10 结束(不包含10本身)的一个数字序列,数字之间的间隔是2
    print(x)

练习:
在这里插入图片描述

示例程序:

count = 0
num = int(input("请输入一个数:"))
for x in range(1, num):
    if(x % 2 == 0):
        count += 1
print(f"1到{num}范围内,共有{count}个偶数")

33、for 循环临时变量作用域

如果在 for 循环外部访问临时变量:

  • 实际上是可以访问到的;
  • 在编程规范上,是不允许、不建议这么做的。

如果实在需要在循环外访问循环内的临时变量,可以在循环外预先定义

34、for 循环的嵌套使用

基本语法格式:
在这里插入图片描述

示例:

"""
演示 for 循环的嵌套使用
"""
# 坚持表白 100 天,每天都送 10 朵花
for i in range(1, 101):
    print(f"今天是向小美表白的第{i}天,加油坚持。")
    # 内层循环
    for j in range(1, 11):
        print(f"给小美送的第{j}朵玫瑰花")
    print("小美我喜欢你")
print(f"第{i}天,表白成功")

35、for 循环打印九九乘法表

for i in range(1, 10):
    for j in range(1, i+1):
        print(f"{i}*{j}={i*j}\t", end='')
    print()

36、continue 和 break

continue

continue关键字用于:中断本次循环,直接进入下一次循环

continue可以用于: for循环和while循环,效果一致

# 演示循环中断语句 continue
for i in range(1, 6):
    print("语句1")
    continue
    print("语句2")

continue在循环中的嵌套使用

# 演示 continue 的嵌套应用
for i in range(1, 6):
    print("语句1")
    for j in range(1, 6):
        print("语句2")
        continue
        print("语句3")
    print("语句4")

break

break 关键字同样只可以控制:它所在的循环永久中断

# 演示循环中断语句 break
for i in range(1, 101):
    print("语句1")
    break
    print("语句2")
print("语句3")

break 在循环中的嵌套使用

# 演示 break 的嵌套应用
for i in range(1, 6):
    print("语句1")
    for j in range(1, 6):
        print("语句2")
        break
        print("语句3")

    print("语句4")

37、循环综合案例:发工资

示例:

import random
num = random.randint(1, 10)
sum = 10000
for i in range(1, 21):
    salary = 1000;
    num = random.randint(1, 10)
    if(num < 5):
        print(f"员工{i},绩效分{num},低于5,不发工资,下一位")
        continue
    if sum >= 1000:
        sum -= 1000
        print(f"员工{i}发放工资1000元,公司账户余额:{sum}")
    else:
        print(f"余额不足,当前余额:{sum}元,不足以发工资,下个月再来")
        break
  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值