第 6 课小数初体验
PYTHON 基础语法 · 第 6 / 11 课

💧 小数初体验

打印小数、保留位数、格式魔法
🎯 知道 int 除 int 在 Python 里会得到小数🎯 会用 f 的 .1f/.2f/.3f 保留小数🎯 会用 float() 读入小数
🕐 数学储备:一位小数的认识(三下);四舍五入当“格式魔法”用,不讲原理
课前回顾

🔄上节课我们学了啥?

① ord() 字符→编号、chr() 编号→字符;② '*' * 5 画图形。抢答:chr(97) 是哪个字母?

📖 知识讲解
➗

Python 的除法永远“除得尽”

在 Python 里,哪怕两个整数相除,也会得到小数:

算式数学课的答案Python 的答案
10 / 42 余 22.5
1 / 2……除不尽0.5
10 // 422(整除不要小数)
💡 小贴士:/ 是真除法(带小数),// 是整除(砍掉小数)。要小数用 /,分蛋糕用 //。
📖 知识讲解 · 代码
➗

Python 的除法永远“除得尽” · 代码

两种除法
print(1 / 2)     # 0.5
print(10 / 4)    # 2.5
print(10 // 4)   # 2  —— 上节课的整除
💡 小贴士:/ 是真除法(带小数),// 是整除(砍掉小数)。要小数用 /,分蛋糕用 //。
📖 知识讲解
✂️

格式魔法:给小数“理发”

小数太长不好看?用 f-string 的 : .Nf 给它“理发”,只留 N 位:

3.1415926
➡️ :.2f 理发 ➡️
3.14
:.2f = 保留 2 位小数(第三位四舍五入由电脑自动完成)
💡 小贴士:写法口诀:冒号 点 数字 f —— :.2f、:.3f。N 是几就留几位!
📖 知识讲解 · 代码
✂️

格式魔法:给小数“理发” · 代码

保留小数
x = 3.1415926
print(f"{x:.2f}")   # 3.14
print(f"{x:.1f}")   # 3.1
print(f"{x:.3f}")   # 3.142
💡 小贴士:写法口诀:冒号 点 数字 f —— :.2f、:.3f。N 是几就留几位!
📖 知识讲解
💰

float():读入小数

输入的是小数(如 3.5),用 float() 来转换(int 只认整数):

💡 小贴士:int() 整数专用,float() 小数通用 —— 读到 3.5 用 int() 会报错!
读小数
x = float(input())    # 输入 12.34521
print(f"{x:.3f}")      # 12.345
📖 知识讲解
🧮

钱的小数大家都会

3.5 元 = 3 元 5 角,小数点后就是“角”。带小数的算式照写就行:

小数计算
jia = 3.5          # 一支笔 3.5 元
shu = 2            # 买 2 支
print(f"共 {jia * shu} 元")     # 共 7.0 元
print(f"应付 {jia * shu:.1f} 元")  # 应付 7.0 元
🎯 例题精讲 · 读题
P27保留3位小数题库 P27
输入一个小数(如 12.34521),把它“理发”成只留 3 位小数再输出。

📥 输入:一个浮点数 x 📤 输出:输出保留 3 位小数的结果

📥 输入样例
12.34521
📤 输出样例
12.345
🎯 例题精讲 · 解答
P27保留3位小数 · 解题

🪜 解题三步走

float(input()) 读入小数
f-string 里写 :.3f
输出
⚠️ 易错点:是 :.3f 不是 .3(少 f 不行);别忘引号前的 f!
参考代码
x = float(input())
print(f"{x:.3f}")
🎯 例题精讲 · 读题
P756三位数运算题库 P756
综合题!把上节课的拆位和今天的小数连起来:输入三位数 n(如 135),输出 (百位+十位) ÷ (十位+个位) 的结果,保留 2 位小数。
135 → (1+3)÷(3+5) = 4÷8 = 0.50🕐 两数之和、除法(已学)

📥 输入:一个三位数(各位不含 0) 📤 输出:输出 (百+十)÷(十+个),保留 2 位小数

📥 输入样例
135
📤 输出样例
0.50
🎯 例题精讲 · 解答
P756三位数运算 · 解题

🪜 解题三步走

拆位:b=n//100、s=n//10%10、g=n%10
分子 b+s,分母 s+g,用 / 真除法
f-string :.2f 保留 2 位
⚠️ 易错点:要用 / 真除法(// 会把 0.5 变成 0)!花括号里的算式可以加括号保证先加后除。
参考代码
n = int(input())
b = n // 100
s = n // 10 % 10
g = n % 10
print(f"{(b + s) / (s + g):.2f}")
✏️ 随堂练习
✏️ P30 保留12位小数(课堂演示)

输入 π = 3.1415926535897932,保留 12 位小数输出。看看电脑能“记住”多少位 —— 睁大眼睛看第 12 位!

💡 提示(先自己想,再点开)
和 P27 一模一样,只是 3 换成 12。观察输出末尾,电脑的小数也有“看不清”的时候!
🔓 点开看参考答案
x = float(input())
print(f"{x:.12f}")
🕵️ 小侦探找错

🕵️ 小侦探找错

print(f"{7 / 2:.1f}") 输出的是?
3.5
3
3.50
7/2
🌟 课堂小结
🎵 斜杠除得尽,小数点真好看;
冒号点 N f,小数理发店(:.2f —— 冒号、点、2、f,念作“留两位”)
  • / 真除法带小数,// 整除砍小数
  • float(input()) 读小数
  • f'{x:.2f}' 保留 2 位小数
  • 花括号里可以放整个算式
  • 钱的小数:3.5 元就是 3 元 5 角
📚 课后作业 · 到 CodingMAX 提交
难度题号题目考点提示
必做P27保留3位小数格式魔法核心题
必做P756三位数运算拆位+小数综合
巩固P30保留12位小数观察浮点精度
挑战P2022温度转换(真题)C×9÷5+32,逐步代入

✅ 按题号到题库提交,提交前先对照样例自己测一遍!

🥚 编程彩蛋

🥚 电脑也会“手抖” 🤏

运行 print(0.1 + 0.2),你以为是 0.3?
print(0.1 + 0.2) → 0.30000000000000004
电脑的小数是“二进制”的,就像我们看不清特别小的字,它也数不准特别小的小数 —— 这叫浮点误差。所以第 12 位小数后面,它开始“瞎猜”啦!