python基础学习笔记第三章

一、while循环

1. 基础语法

核心 :条件为布尔类型,True继续循环,False结束循环。

2. 注意事项

  • 条件必须返回布尔值

  • 必须设置循环终止条件(如i += 1),否则无限循环

  • 严格遵守空格缩进规则

3. 基础案例

案例1:向小美表白100次
cpp 复制代码
i = 0
while i < 100:
    print("小美,我喜欢你")
    i += 1
案例2:计算1-100的和
cpp 复制代码
i = 1
sum_total = 0
while i <= 100:
    sum_total += i
    i += 1
print(f"1-100的和为:{sum_total}")  # 结果:5050
案例3:猜数字游戏
cpp 复制代码
import random
num = random.randint(1, 100)
count = 0
flag = True
while flag:
    guess = int(input("请输入你猜的数字:"))
    count += 1
    if guess > num:
        print("大了")
    elif guess < num:
        print("小了")
    else:
        print(f"猜中了,你一共猜了{count}次")
        flag = False

4. while循环嵌套

1)语法
cpp 复制代码
while 条件1:
    条件1满足执行的代码
    while 条件2:
        条件2满足执行的代码
        循环2的终止条件
    循环1的终止条件
2)注意事项
  • 按缩进确定层次关系

  • 分别设置各层循环的终止条件,避免无限循环

案例1:表白100天,每天送10朵玫瑰
cpp 复制代码
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}天,表白成功")
案例2:打印九九乘法表
cpp 复制代码
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{j}*{i}={i*j}\t", end="")
        j += 1
    print()  # 换行
    i += 1

补充 :end=""让print不换行,\t制表符实现对齐。

二、for循环

1. 基础语法

cpp 复制代码
for 临时变量 in 待处理数据集(可迭代对象):
    循环执行的代码

核心:轮询机制,逐个取出数据集内容处理,无法自定义循环条件,无无限循环(数据集有限)。

2. 可迭代对象

字符串、数字序列(range生成)、列表、元组等。

3. 基础案例

案例1:遍历字符串
cpp 复制代码
name = "itheima"
for x in name:
    print(x)  # 逐个输出i t h e i m a
案例2:统计字符串中字母a的个数
cpp 复制代码
name = "itheima is a brand of itcast"
count = 0
for x in name:
    if x == "a":
        count += 1
print(f"字符串中共含有:{count}个字母a")  # 结果:4

4. range语句

生成数字序列,常用作for循环的数据集,左闭右开。

三种语法
  1. range(num):生成0到num-1的序列

    cpp 复制代码
    for i in range(5):
        print(i)  # 0 1 2 3 4
  2. range(num1, num2):生成num1到num2-1的序列

    cpp 复制代码
    for i in range(5, 10):
        print(i)  # 5 6 7 8 9
  3. range(num1, num2, step):按步长step生成序列

    cpp 复制代码
    for i in range(5, 10, 2):
        print(i)  # 5 7 9
案例:统计1到num的偶数个数
cpp 复制代码
num = 100
count = 0
for i in range(1, num):
    if i % 2 == 0:
        count += 1
print(f"1到{num}(不含本身)范围内,有{count}个偶数")  # 结果:49

5. 临时变量作用域

  • 规范上:临时变量仅作用于for循环内部

  • 实际上:外部可访问,但不建议

  • 如需外部访问,提前在循环外定义:

cpp 复制代码
i = 0
for i in range(5):
    print(i)
print(f"循环外访问i:{i}")  # 结果:4

6. for循环嵌套

1)语法
cpp 复制代码
for 临时变量1 in 数据集1:
    执行代码
    for 临时变量2 in 数据集2:
        执行代码
2)注意事项
  • 按缩进定层次

  • for和while可相互嵌套

案例1:表白100天(for嵌套)
cpp 复制代码
for i in range(1, 101):
    print(f"今天是向小美表白的第{i}天,坚持。")
    for j in range(1, 11):
        print(f"送给小美的第{j}朵玫瑰花")
    print(f"小美,我喜欢你(第{i}天的表白结束)")
print(f"第100天,表白成功")
案例2:for循环打印九九乘法表
cpp 复制代码
for i in range(1, 10):
    for j in range(1, i+1):
        print(f"{j}*{i}={i*j}\t", end="")
    print()

三、循环中断:break和continue

1. continue

  • 作用:中断本次循环,直接进入下一次

  • 适用:for/while循环,嵌套中仅作用于所在层循环

cpp 复制代码
# 案例:打印1-5,跳过3
for i in range(1, 6):
    if i == 3:
        continue
    print(i)  # 1 2 4 5

2. break

  • 作用:直接结束整个循环

  • 适用:for/while循环,嵌套中仅作用于所在层循环

cpp 复制代码
# 案例:打印1-5,遇到3终止
for i in range(1, 6):
    if i == 3:
        break
    print(i)  # 1 2

3. 综合案例:发工资

cpp 复制代码
import random
money = 10000  # 账户余额
for i in range(1, 21):
    score = random.randint(1, 10)
    if score < 5:
        print(f"员工{i},绩效分{score},不发工资")
        continue
    if money < 1000:
        print("工资发完了,结束发放")
        break
    money -= 1000
    print(f"员工{i},绩效分{score},发工资1000,余额{money}")
相关推荐
代码山河7 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
在世修行7 小时前
智学文枢:题目流水线
python·多线程·状态机·pyside
sbjdhjd7 小时前
网工进阶笔记:H3CSE 园区网全栈技术与协议汇总
网络·笔记·云计算·ssh·网络工程·vlan·aaa
释厄6237 小时前
AI学习层更新与跨体转移律——人类社会同构·不缺理解缺 U
人工智能·学习
梯度下降者7 小时前
零基础入门Python 爬虫
爬虫·python·数据分析·入门指南·webcrawler
“AI国潮设计-小江”9 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
benchmark_cc10 小时前
用 Python 拉 A 股全市场实时快照:Notebook 请求、结果校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
伞伞悦读10 小时前
【第70期】Adam二阶矩不是方差:偏差校正、动量与AdamW完整实验
python
海绵宝宝的月光宝盒10 小时前
14-AutoCAD-阵列命令应用与案例实战(AR)
经验分享·笔记·自动化·课程设计·制造·学习方法·cad
外收内放10 小时前
Python基础语法练习题(73)
java·前端·python