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}")
相关推荐
用户8356290780514 分钟前
用 Python 轻松在 Excel 工作表中应用条件格式
后端·python
red1giant_star8 分钟前
Python根据文件后缀统计文件大小、找出文件位置(仿Everything)
后端·python
ZhiqianXia11 分钟前
《The Design of Design》阅读笔记
前端·笔记·microsoft
nashane16 分钟前
HarmonyOS 6学习:画中画(PiP)状态同步与场景化实战指南
学习·pip·harmonyos·harmonyos 5
雷欧力20 分钟前
如何使用 Claude API?3 种接入方案实测,附完整代码(2026)
python·claude
神仙别闹25 分钟前
基于 Python 实现 BERT 的情感分析模型
开发语言·python·bert
NQBJT32 分钟前
VS Code配置Python人工智能开发环境
开发语言·人工智能·vscode·python
浮游本尊33 分钟前
一文讲透巡检链路:采集程序 → 上传数据包 → 后端解析入库 → 分析出报告
python
祁白_1 小时前
nmap工具笔记整理
笔记·web安全·测试
_李小白1 小时前
【android opencv学习笔记】Day 8: remap(像素位置重映射)
android·opencv·学习