🐍

三年级同学的Python小课堂

嗨,小朋友!欢迎来到Python小课堂!我是你的电脑老师,会一步一步教你写代码。 这本"书"一共有7个小故事,每个故事都跟你的生活有关。 你已经会 print() 啦,那我们就开始新的冒险吧!

📚
小故事
7个
⏱️
每天学
30分钟
🎯
难度
⭐ 入门
💪
好朋友
电脑老师

🗺️ 我们要去哪里?

学Python就像爬楼梯,每一层都站得更稳。我们从最简单的"小盒子"开始,慢慢学会让电脑帮我们做事情。

🔧 上课前要准备什么?

电脑老师有2个选择,挑一个就行:

  1. 装个Python:让爸爸妈妈帮你去 python.org 下载,记得勾选"Add Python to PATH"。
  2. 用网页版:直接打开 trinket.io,不用装任何东西,打开网页就能写代码!

📦 第1个故事 变量 - 装东西的小盒子

🌟 这个故事讲什么?

小朋友们,你们有没有小盒子?把玩具放进去,盖上盖子,写个名字。要玩的时候叫名字就能找到。

Python里的"变量"就像小盒子!我们可以把数字、名字放进盒子里,以后要用了,叫它一声就行。

想象一下:你有三个小盒子,分别贴上"我的名字"、"我的年龄"、"我最喜欢的颜色"的标签。然后把"小明"放第一个,"10"放第二个,"蓝色"放第三个。这三个小盒子就是变量

🎓 怎么用呢?

做一个变量很简单,就像给它起个名字,再把东西放进去:

# 做一个叫 name 的小盒子,把"小明"放进去
name = "小明"

# 做一个叫 age 的小盒子,把数字 10 放进去
age = 10

# 把盒子里的东西拿出来看看
print(name)   # 电脑会说:小明
print(age)    # 电脑会说:10

📏 起名字有规则哦

  • 只能用字母、数字、下划线(_),不能有空格
  • 不能以数字开头(比如 2name 不行哦)
  • 要分得清大小写:Namename 是两个不同的盒子
  • 最好起有意义的名字,比如 my_namea 好懂
起变量名字就像给宠物起名字,叫"小白"比叫"狗"更清楚,是吧?
如果变量名字写错了,电脑老师会说找不到,叫 NameError。就像你喊"小白",但你家的狗叫"小黑",它不会理你!
🎮 练一练
  1. 做一个叫 my_name 的小盒子,把你的名字放进去,再用 print() 让电脑说出来。
  2. 做一个叫 lucky_number 的小盒子,把你最喜欢的数字放进去,让电脑说出来。
  3. 猜一猜下面这段代码,电脑会说什么?
    x = 5
    y = x + 3
    x = 10
    print(y)
✅ 参考答案

第1题

my_name = "小红"  # 换成你自己的名字
print(my_name)

第2题

lucky_number = 7  # 换成你喜欢的数字
print("我喜欢的数字是:", lucky_number)

第3题:电脑会说 8
解析:先把5放进 x,然后 y = x + 3 就是 5+3=8。
之后 x 变成了10,但 y 已经是8了,不会再变哦!

💬 第2个故事 输入 - 和电脑说话

🌟 这个故事讲什么?

前面我们都是让电脑说话(用 print())。这一章我们让电脑听我们说话

想象你跟一个新朋友说话,你说"你好",朋友也说"你好"。现在电脑就像那个新朋友,你输入什么,电脑就回应你什么!

🎓 怎么用呢?

input() 可以让电脑停下来,等你从键盘上打字:

# 让电脑问你叫什么
name = input("你叫什么名字?")
print("你好,", name, "!欢迎来玩Python!")

运行后,屏幕会出现"你叫什么名字?",你输入"小明"按回车,电脑就会说"你好,小明!欢迎来玩Python!"

⚠️ 重要的事情说三遍!

不管你输入什么,input() 都当成"文字"。如果你想算数学题,就要用 int() 把它变成数字。

就像你跟朋友说"我今年10岁",朋友说"哦,10 + 1 = 11"。电脑也是这样,如果你不说它是数字,它就以为你说的是"10"这两个字,不是数字10。
# 这样会出错哦!
age = input("你今年几岁?")
next_year = age + 1   # 报错!文字不能加数字

# 这样才对:用 int() 把文字变成数字
age = int(input("你今年几岁?"))
next_year = age + 1
print("明年你就", next_year, "岁了!")
int() 把"文字"变成"整数",str() 把"数字"变成"文字"。它们就像变形金刚
🎮 练一练
  1. 让电脑问你"你最喜欢什么水果?",然后说"哇!你也喜欢 [水果] 吗?我也喜欢!"
  2. 让电脑问你两个数字,然后告诉你是它们的和是多少。
  3. 让电脑问你的名字和年龄,然后说"你好 [名字],明年你就 [年龄+1] 岁了!"。
✅ 参考答案

第1题

fruit = input("你最喜欢什么水果?")
print("哇!你也喜欢", fruit, "吗?我也喜欢!")

第2题

a = int(input("说一个数字:"))
b = int(input("再说一个数字:"))
print("两个加起来是:", a + b)

第3题

name = input("你叫什么名字?")
age = int(input("你今年几岁?"))
print("你好", name, ",明年你就", age + 1, "岁了!")

🔢 第3个故事 不同的"东西"

🌟 这个故事讲什么?

世界上有不同种类的东西:水果、玩具、书本。Python里也有不同的东西,我们叫它们"数据类型"。最常见的有4种:

想象你去超市买东西:买苹果(水果)、买铅笔(文具)、买饼干(零食)。它们都是"东西",但种类不同。Python的"东西"也一样:数字、文字,都有自己的种类。
  • 整数:比如 1, 100, -5 (就是没有小数点的数字)
  • 小数:比如 3.14, 0.5 (有小数点的)
  • 文字:比如 "你好", "苹果" (要用引号包起来)
  • 真假:只有两个——True(真)和 False(假)

🎓 怎么用呢?

# 整数(你的分数)
score = 95

# 小数(你的身高,单位是米)
height = 1.4

# 文字(你的名字)
my_name = "小红"

# 真假(你是不是小学生?)
is_pupil = True

🧮 数学计算

Python会做数学题!就像你用计算器一样:

print(10 + 3)   # 加法:13
print(10 - 3)   # 减法:7
print(10 * 3)   # 乘法:30(乘号是星号)
print(10 / 3)   # 除法:3.333...
print(10 // 3)  # 整除:3(不要小数)
print(10 % 3)   # 余数:1(除完还剩多少)
print(2 ** 3)   # 乘方:8(2×2×2)

✍️ 文字也能玩

first = "你好"
second = "世界"
print(first + second)   # 拼起来:你好世界
print(first * 3)       # 重复3次:你好你好你好
想知道一个东西是什么类型?用 type() 问电脑。比如 print(type(95)) 会告诉你这是"整数"。
🎮 练一练
  1. 做三个小盒子:一个装整数、一个装小数、一个装你的名字。让电脑告诉你它们分别是什么类型。
  2. 计算一下:你有 20颗糖,分给 3个朋友,平均每人能分几颗?还剩几颗?写出代码。
  3. 把你的姓和名拼在一起,中间加个空格。
  4. 猜一猜:print("2" + "3") 会说什么?print(2 + 3) 又会说什么?
✅ 参考答案

第1题

a = 10
b = 1.4
c = "小红"
print(type(a))   # int(整数)
print(type(b))   # float(小数)
print(type(c))   # str(文字)

第2题

print("每人能分:", 20 // 3, "颗")   # 6颗
print("还剩:", 20 % 3, "颗")      # 2颗

第3题

last_name = "小"
first_name = "红"
print(last_name + " " + first_name)   # 小 红

第4题
print("2" + "3")23(两个文字拼起来)
print(2 + 3)5(两个数字加起来)

🚦 第4个故事 让电脑做选择

🌟 这个故事讲什么?

每天早上妈妈都要看天气:下雨就带伞晴天就不带。电脑也能这样选!

就像你过马路要看红绿灯:红灯停,绿灯行,黄灯等一等。Python的 if 就是给电脑看的"红绿灯":如果……就……,不然就……

🎓 怎么用呢?

我们让电脑根据年龄说不同的话:

age = int(input("你今年几岁?"))

if age >= 18:
    print("你是大人了!")
elif age >= 12:
    print("你是大孩子了!")
elif age >= 0:
    print("你还是小朋友!")
else:
    print("这孩子还没出生哟~👶")

注意哦:判断要从大到小写,先看是不是 ≥18,再看是不是 ≥12,最后再看是不是 ≥0。

🐛 找Bug:有同学发现,如果输入 -5,原来的代码会说"你是小朋友",但其实负数年龄不合理!上面这版已经修好了:再加一个 elif age >= 0 来判断"是有效的小朋友年龄",剩下的 else 才是"还没出生"。写程序要考虑所有可能哦!

📊 比较符号

符号意思例子
==等于5 == 5 → 对
!=不等于5 != 3 → 对
>大于5 > 3 → 对
<小于5 < 10 → 对
>=大于等于5 >= 5 → 对
<=小于等于5 <= 5 → 对

🔗 组合条件

有时候要两个条件都对,就像你要"晴天而且温度高才出去玩":

# and: 两个条件都要对
if age >= 6 and age <= 12:
    print("你在上小学!")

# or: 有一个对就行(可以免票看电影)
if age < 6 or age > 60:
    print("你可以免票!")
空格很重要! Python用"前面的空格"来表示哪几行是一起的。比如 if 下面那行要空4个空格,电脑才知道它是属于 if 的。
🎮 练一练
  1. 让电脑问你的考试分数,如果 ≥ 60 就说"及格啦!",否则说"不及格,继续加油!"
  2. 让电脑问你一个数字,然后说它是"正数"(大于0)、"零"、还是"负数"(小于0)。
  3. 挑战题:改一改上面的"年龄判断"代码,让它更聪明:如果年龄大于150就说"哇!你是不是成仙了?🧙"
✅ 参考答案

第1题

score = int(input("你考了多少分?"))
if score >= 60:
    print("及格啦!🎉")
else:
    print("不及格,继续加油!💪")

第2题

num = int(input("说一个数字:"))
if num > 0:
    print("这是一个正数")
elif num < 0:
    print("这是一个负数")
else:
    print("这是零")

第3题(挑战)

age = int(input("你今年几岁?"))

if age < 0:
    print("这孩子还没出生哟~👶")
elif age > 150:
    print("哇!你是不是成仙了?🧙")
elif age >= 18:
    print("你是大人了!")
elif age >= 12:
    print("你是大孩子了!")
else:
    print("你还是小朋友!")

💡 小哲学:好的程序不只是能跑,还要考虑"用户可能会输入什么奇怪的东西"。这种思维叫想得周到

🔄 第5个故事 让电脑做重复的事

🌟 这个故事讲什么?

如果让你写"我爱学习" 100遍,你肯定会累死。但用"循环",电脑1秒钟就能写完!

就像你刷碗有10个碗,一个一个刷太慢了。如果有个魔法机器,你告诉它"刷10个碗",它就自动一个一个刷完。Python的循环就是这样的魔法机器!

🎓 for 循环(数数)

for 循环就是"一个一个做",最常用的是用 range() 来告诉电脑"做几次":

# 打印 5 遍"我爱学习"
for i in range(5):
    print("我爱学习")

# 从 1 数到 5
for i in range(1, 6):   # 注意是到 6(不包含 6)
    print(i)

🎓 while 循环(一直做到对为止)

while 就是"只要条件对,就一直做":

# 从 1 数到 5
i = 1
while i <= 5:
    print(i)
    i = i + 1   # 很重要!别忘了往前走

🛑 循环控制

有时候你刷碗刷到一半发现没碗了,就可以停下来:

# break:立刻停下来
for i in range(1, 11):
    if i == 6:
        break   # 到 6 就停
    print(i)   # 输出:1 2 3 4 5

# continue:跳过这次
for i in range(1, 6):
    if i == 3:
        continue   # 跳过 3
    print(i)   # 输出:1 2 4 5
小心"没完没了"! 如果 while 的条件永远都对(比如忘了让 i 增加),电脑就会一直跑。这时按 Ctrl+C 强制停下来。
🎮 练一练
  1. 让电脑帮你算:1+2+3+...+100 是多少?
  2. 让电脑问你"密码是什么?",如果答错了就一直问(假设正确密码是 python123)。
  3. 小挑战:让电脑从1数到10,但不数 7(用 continue)。
✅ 参考答案

第1题

total = 0
for i in range(1, 101):
    total = total + i
print("1加到100是:", total)   # 5050

第2题

password = ""
while password != "python123":
    password = input("密码是什么?")
print("密码正确,欢迎!")

第3题

for i in range(1, 11):
    if i == 7:
        continue   # 跳过 7
    print(i)

📚 第6个故事 一排排的小盒子

🌟 这个故事讲什么?

如果变量是一个小盒子,那列表就是一排小盒子,每个盒子都有自己的编号。比如存储全班同学的名字。

想象你的文具盒里有10支蜡笔,每支都有编号:1号红色,2号橙色,3号黄色……你想用几号蜡笔,叫它的编号就能拿出来。列表就是这样的一排盒子!

🎓 怎么用呢?

# 做一个有4种水果的列表
fruits = ["苹果", "香蕉", "橙子", "葡萄"]

# 通过编号(叫"索引")拿出来,编号从 0 开始!
print(fruits[0])   # 苹果
print(fruits[1])   # 香蕉
print(fruits[-1])  # 葡萄(最后一个)

# 还可以换里面的东西
fruits[0] = "草莓"
print(fruits)   # ['草莓', '香蕉', '橙子', '葡萄']

🛠️ 列表的常用操作

scores = [85, 92, 78, 95, 88]

print(len(scores))     # 一共有几个:5
print(max(scores))     # 最大:95
print(min(scores))     # 最小:78
print(sum(scores))     # 加起来:438

scores.append(90)     # 在最后加一个 90
scores.remove(78)     # 把 78 拿掉

🔁 一个个拿出来看

fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print("我喜欢吃", fruit)
列表的编号是从 0 开始的!第一个是 [0],第二个是 [1]。一开始会不习惯,多写几遍就好了!
🎮 练一练
  1. 做一个列表,装你最喜欢的5种水果,然后让电脑说出第3个。
  2. 做一个程序:让电脑问你5次"你考试得了多少分?",最后告诉你平均分。
  3. 小挑战:把列表 [3, 1, 4, 1, 5, 9, 2, 6] 排好序(从大到小)。
✅ 参考答案

第1题

fruits = ["草莓", "香蕉", "橙子", "葡萄", "苹果"]
print("第3个水果是:", fruits[2])   # 橙子

第2题

scores = []
for i in range(5):
    n = int(input(f"第{i+1}次考试多少分?"))
    scores.append(n)
print("平均分是:", sum(scores) / len(scores))

第3题

nums = [3, 1, 4, 1, 5, 9, 2, 6]
nums.sort()                  # 从小到大
nums.sort(reverse=True)    # 从大到小
print(nums)   # [9, 6, 5, 4, 3, 2, 1, 1]

✨ 第7个故事 我自己的小魔法

🌟 这个故事讲什么?

当一段代码你要用很多次,就可以把它打包起来,起个名字。以后叫它的名字就能用。这个"打包"的东西就叫函数

想象你有一根魔法棒,你对它说"打扫房间",它就自动帮你打扫。你还可以给它起名字"小扫"。每次说"小扫",它就帮你打扫。函数就是你的魔法棒!

🎓 怎么用呢?

# 定义一个打招呼的魔法
def say_hello(name):
    print("你好,", name, "!")

# 使用魔法(叫它的名字)
say_hello("小明")
say_hello("小红")

📦 让魔法"返回"一个结果

# 这个魔法能算两个数的和
def add(a, b):
    return a + b

result = add(3, 5)
print(result)   # 8

🌟 更多好玩的

# 默认的问候(如果不特别说,就是"你好")
def greet(name, hi="你好"):
    print(hi, name)

greet("小明")            # 你好 小明
greet("小明", "Hi")    # Hi 小明
为什么要用函数?
① 不用重复写
② 改起来很方便
③ 别人一看名字就知道是干什么的
🎮 练一练
  1. 做一个魔法叫 double(n),它能返回一个数字"翻倍"的结果。比如 double(5) 应该返回 10。
  2. 做一个魔法叫 say_hi(name),让它说"你好,name!今天开心吗?"。
  3. 小挑战:做一个魔法叫 max_of_three(a, b, c),返回三个数中最大的那个。
✅ 参考答案

第1题

def double(n):
    return n * 2

print(double(5))   # 10

第2题

def say_hi(name):
    print("你好,", name, "!今天开心吗?😊")

say_hi("小明")

第3题

def max_of_three(a, b, c):
    if a > b and a > c:
        return a
    elif b > c:
        return b
    else:
        return c

print(max_of_three(3, 7, 5))   # 7

🎉 太棒了!你学完啦!

你已经学会了Python最重要的7个本领!我们回顾一下:

故事学到的小成就
第1个变量🏆 会做小盒子了
第2个输入🏆 能和电脑说话了
第3个不同的"东西"🏆 会做数学了
第4个让电脑做选择🏆 电脑会想问题了
第5个循环🏆 让电脑做重复的事
第6个列表🏆 能装一大堆东西了
第7个函数🏆 创造自己的魔法了

🚀 接下来玩什么呢?

  • 画图:用 turtle 画一只小猫🐱
  • 做小游戏:用 pygame 做一个小游戏🎮
  • 记单词:做一个背单词的小帮手📚
学习小贴士
多写代码——写得越多越厉害
不怕报错——错误是最好的老师
做小项目——比如做一个计算器
告诉小伙伴——讲给别人听,自己也记得更牢

🌈 加油,小魔法师!

编程就像学魔法,一开始可能会有点难,但只要多练习,你一定能变出很酷的东西!有问题随时来找电脑老师哦~