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随机数,实现三局两胜逻辑。
相关推荐
Easy_API2 小时前
2.8万亿参数,编程反超GPT-6 Astra:Kimi K3.1 Pro把开源模型推到了哪一步
大数据·人工智能·gpt·深度学习
GlobalInfo2 小时前
2026年机器人多指灵巧手市场分析报告——涵盖行业调查、趋势分析与发展前景
大数据·人工智能·microsoft·微服务·机器人
紧跟先前的步伐3 小时前
Go AI Agent 实战 24|工具系统工程化收尾与阶段验收
人工智能·ai·golang·1024程序员节
释厄6233 小时前
AI学习层更新与跨体转移律——人类社会同构·不缺理解缺 U
人工智能·学习
老金带你玩AI4 小时前
集万家所长,一键复制的Agent.md!
人工智能
ZhuoAIStage4 小时前
舞台工艺多专业审图提速:用 AI 智能体编排 A+B+C+G 四段读图流水线
人工智能·自动化·工作流编排·舞台工艺·审图智能体
小奶包他干奶奶4 小时前
AI学习——1、机器学习概念
人工智能·机器学习
展讯快报4 小时前
悬浮提词器免费App评估报告:说得AI的免费策略与可用性分析
人工智能
Yuzhiyuxia4 小时前
【AI Agent面试系列】AI Agent记忆机制知识点1
人工智能·面试·职场和发展
2601_965448875 小时前
AI视频制作:做系列历史人物视频音色不搭,AI 音色克隆的方法实测
人工智能·音视频