Python 入门核心:分支、循环、列表容器

Python 基础学习笔记:分支、循环、容器实战(附猜拳游戏案例)

本文整理 Python 条件判断、循环控制、模块导入与数据容器核心知识点,配套可运行代码,适合入门复习。

一、if 条件结构:根据条件选择执行代码

核心思想:判断条件真假,选择执行不同代码块,Python 使用**缩进(推荐4空格)**区分代码块。

1. 单分支 if

条件为 True,执行内部代码;条件为 False,直接跳过。

python 复制代码
if 条件:
    语句块

age = 20
if age >= 18:
    print("成年")

2. 双分支 if...else

二选一,满足条件执行 if,不满足执行 else。

python 复制代码
if 条件:
    语句块1
else:
    语句块2

age = 16
if age >= 18:
    print("成年")
else:
    print("未成年")

3. 多分支 if...elif...else

从上往下依次判断,只要匹配一个条件,后续不再判断。else 可选,所有条件不满足才执行。

⚠️ 条件顺序非常重要!范围大的条件不能写在前面,否则后面分支永远不会触发。

python 复制代码
if 条件1:
    语句块1
elif 条件2:
    语句块2
elif 条件3:
    语句块3
else:
    全部不满足时执行

score = 85
if score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 60:
    print("C")
else:
    print("D")

4. 嵌套 if

if 内部继续写 if,适合多层级条件判断。

python 复制代码
age = 22
has_id = True
if age >= 18:
    if has_id:
        print("可以进入")
    else:
        print("成年但无证件,不能进入")
else:
    print("未成年")

5. 三元表达式(单行简单二选一)

适合简短判断,精简代码。

python 复制代码
变量 = 表达式1 if 条件 else 表达式2

age = 17
res = "成年" if age >=18 else "未成年"
print(res)

二、模块导入:复用别人写好的代码

方式1:import 模块名(推荐常用)

导入整个模块,调用功能需要写 模块名.函数()

python 复制代码
import random
num = random.randint(1,3)
print(num)

方式2:from 模块名 import 功能名

只导入模块里指定函数,调用时不需要加模块前缀

python 复制代码
from random import randint
num = randint(1,3)
print(num)

三、for 循环:遍历循环

适用场景:知道循环次数,或者遍历字符串、列表等可迭代容器 语法:

python 复制代码
for 变量 in 可迭代对象:
    循环体

range() 函数(for循环高频)

range(start, end, step),包头不包尾,包含start,不包含end

  • range(n):0 ~ n-1
  • range(1,6):1,2,3,4,5
  • range(1,10,2):1,3,5,7,9

示例:

python 复制代码
# 打印1~5
for i in range(1,6):
    print(i)

# 遍历字符串
s = "python"
for c in s:
    print(c)

循环控制关键字 break / continue

仅作用于当前这一层循环,一般配合 if 使用。

  1. break:直接终止整个循环,跳出循环,循环彻底结束
python 复制代码
for i in range(1, 6):
    if i == 3:
        break   # i等于3,直接结束循环
    print(i)
# 输出:1 2
  1. continue:跳过本次循环剩下代码,直接进入下一轮,循环本身不会停止
python 复制代码
for i in range(1,6):
    if i == 3:
        continue  # i=3时,跳过print,直接下一轮
    print(i)
# 输出:1 2 4 5

四、综合案例:猜拳游戏(三局两胜)

规则:

  1. 1石头,2剪刀,3布
  2. 胜负:石头赢剪刀,剪刀赢布,布赢石头
  3. 三局两胜,先拿到2分的一方获胜,游戏结束
python 复制代码
"""
猜拳游戏:三局两胜
1 石头,2 剪刀,3 布
石头赢剪刀,剪刀赢布,布赢石头
"""
import random

player_num = 0
computer_num = 0

while True:
    player = int(input("请输入你的猜拳(1:石头,2:剪刀,3:布):"))
    computer = random.randint(1, 3)
    print(f"玩家出拳:{player}")
    print(f"机器出拳:{computer}")

    # 判断胜负
    if player == computer:
        print("平局")
    elif ((player == 1 and computer == 2) or
          (player == 2 and computer == 3) or
          (player == 3 and computer == 1)):
        print("玩家胜利!")
        player_num += 1
    else:
        print("机器胜利!")
        computer_num += 1

    # 判断是否达到胜利条件
    if player_num >= 2 or computer_num >= 2:
        print("游戏结束")
        if player_num >= 2:
            print("恭喜你赢了")
        if computer_num >= 2:
            print("很遗憾,你输了")
        break

五、Python 四大数据容器:列表 list

Python 常用容器:列表 list、元组 tuple、集合 set、字典 dict。本篇重点学习列表。

列表 list

  • 标识符号:[]
  • 特点:可变,支持增删改查,允许重复元素,有序,通过索引访问(索引从0开始)
python 复制代码
# 定义列表
lst = [10, 20, 30, "python"]

# 索引取值
print(lst[0])   # 10

# 修改元素
lst[1] = 99

# 添加元素
lst.append(100)

# 删除元素
del lst[0]

列表常用操作示例

python 复制代码
my_list = [1, 2, 3, 4, 5]
my_list2 = ["a", "b", "c"]
print(my_list)
print(my_list2)

# append:尾部追加单个元素
my_list.append(6)
print(my_list)
my_list.append(10)
print(my_list2)

# insert:指定下标插入元素
my_list.insert(2, 100)
print(my_list)

# extend:追加一组可迭代数据
my_list.extend([7, 8, 9])
print(my_list)

# 修改指定下标元素
my_list[0] = 100
print(my_list)

# 索引取值
print(my_list[0])

# count:统计元素出现次数
print(my_list.count(100))

# index:查找元素第一次出现下标,找不到会报错
print(my_list.index(100))

# len:获取列表长度
print(len(my_list))

# del:按下标删除
del my_list[0]
print(my_list)

# pop:按下标删除,返回被删除元素
my_list.pop(2)
print(my_list)

# remove:删除第一个匹配的元素值
my_list.remove(100)
print(my_list)
print("----------")

my_list = [1, 2, 3, 4, 5, True, False]
if True in my_list:
    print(f"True在列表中的索引位置: {my_list.index(True)}")
    print("True在列表中")
else:
    print("True不在列表中")

列表重点思考题

  1. 为什么列表的查询、修改、删除大多基于下标,而不是元素值? 列表是有序容器,元素的值允许重复。如果只靠元素值操作,无法区分多个相同的值,所以优先通过位置(下标)操作。

  2. 列表里同时存在数字1和True,调用index(True)返回哪个下标? 在 Python 底层,True 等价于数值 1,False 等价于数值 0。 index(True) 会匹配到列表中第一个等于1的元素。 例如 [1,2,True],index(True) 返回 0。

小结

  1. if 分支靠缩进区分代码块,多分支注意条件顺序;
  2. for 循环配合 range 处理固定次数循环,break终止循环,continue跳过本次;
  3. import 导入模块,random 模块可以生成随机数;
  4. 列表是有序可变容器,支持增删改查,操作大多基于索引;
  5. 实战:猜拳游戏综合运用 while循环、if判断、random随机数,实现三局两胜逻辑。
相关推荐
付威20231 小时前
我用 100 行核心代码,做了一个能接入飞书的 Hermes 式智能体
人工智能·后端
IamZJT_1 小时前
拆开 DeepSeek Harness 10|创造模式在“创造”什么?让 Agent 组装一种新工作方式
人工智能
java资料站1 小时前
案例:Spring Ai/Alibaba《模拟面试器》项目案例
人工智能·spring·面试
启效云1 小时前
AI赋能制造丨启效云亮相2026工业母机产业链高质量发展大会
大数据·人工智能·制造
TK泰妞1 小时前
如何利用跨境女装提示词库提升销售效率?从商品图片到TikTok内容的完整方法
大数据·人工智能
鲜于言悠9051 小时前
opencode
人工智能
猛犸象限1 小时前
【CJMP Grok Bot实践】用 CJMP 搬游戏时碰到的三个缺口,和我们的绕法
人工智能·grok
用户abcde1 小时前
RAG 检索增强生成
人工智能
文谦南宁AI普工1 小时前
RAG 检索全对,回答全错?用位置扫描 10 分钟定位 Lost in the Middle
人工智能·aigc