课程库 › AI 主线 › Python 第一步 › 第 3 课
输入与输出 —— 和程序对话
普通课约 45 分钟
本课导读
前两课的程序都是"自说自话"——数据写死在代码里。这一课教程序开口和你对话:把信息漂亮地说出来(f-string,你以后天天用),把你的回答接进来(input),并处理好"接进来的永远是字符串"这个新手必踩的坑。
把话说漂亮:f-string
上一课用 + 拼接字符串,遇到数字还得小心翼翼。Python 有个优雅得多的办法——f-string:在引号前加个 f,字符串里就可以用花括号"挖坑",把变量直接填进去:
对比第一行和后两行:f-string 不用管拼接、不用管类型转换,花括号里甚至能直接做计算(age + 5)。从今天起,拼字符串优先用 f-string——它是 Python 世界的通用习惯。
提示
记忆钩子:f = format(格式化)。花括号是"填空题的空",Python 负责把变量的值填进去。忘了加 f 的话,花括号会被原样打印出来——试试删掉上面的 f 运行一次。
听程序提问:input()
到目前为止数据都是我们写死的。input() 让程序停下来,等你输入:
说明
点运行后,浏览器会弹出一个输入框——那就是 input() 在等你回答。如果你的浏览器没有弹窗或报了错,不用纠结:这是网页运行环境的限制,在 Colab 里 input() 会以更自然的方式等你打字(还记得 U0.1 配好的 Colab 吗?它就是为这类练习准备的)。本课后面的例子都会用"直接赋值"来模拟输入,两种方式学到的知识完全一样。
input() 的括号里放提示语(问对方什么),它的返回值——你输入的内容——用变量接住,之后就能随意使用。
大坑预警:input() 拿到的永远是字符串
这是本课最重要的知识点。无论你输入什么,input() 交给你的都是字符串——你输入 28,它给你的是 "28"(带引号的那种)。
还记得上一课的 TypeError 吗?字符串没法直接参与算术。所以拿到"数字模样的字符串"后,要先用 int()(转整数)或 float()(转小数)转换:
把 int(age_text) 那行删掉、直接用 age_text + 10 试试——你会亲眼见到那个经典的 TypeError。见过一次,以后就免疫了。
注意
口诀:input 进来先转型,要算数就 int/float。真实世界里这个坑无处不在:网页表单、Excel 表格、配置文件读进来的"数字",几乎都是字符串。你今天在 5 行的小程序里练会的这一手,以后在数据分析里天天用。
串起来:一个完整的对话小程序
三样东西(提问、接住、漂亮地回答)合体:
✍️ 练习
提示
练习规则(本单元通用):先自己写,卡住了先挣扎 15 分钟,再看提示;参考答案只在自己跑通后(或彻底卡死时)打开对照。
练习 1:自我介绍生成器
给定三个变量,用 f-string 打印两行自我介绍:第一行"大家好,我是 XX,来自 XX",第二行"我的爱好是 XX"。
💡 提示
两个 print(),每个里面一个 f-string,花括号里填变量名。
✅ 参考答案
name = "阿杰"
city = "成都"
hobby = "爬山"
print(f"大家好,我是 {name},来自 {city}")
print(f"我的爱好是 {hobby}")
练习 2:温度换算
摄氏度转华氏度的公式是:华氏 = 摄氏 × 9 ÷ 5 + 32。给定摄氏温度(模拟输入的字符串),打印换算结果。
💡 提示
三步:① float() 或 int() 转型 ② 套公式算出结果存进新变量 ③ f-string 打印。乘法是 *,除法是 /。
✅ 参考答案
celsius_text = "26"
celsius = float(celsius_text)
fahrenheit = celsius * 9 / 5 + 32
print(f"{celsius} 摄氏度 = {fahrenheit} 华氏度")
练习 3:购物小票(挑战)
单价 12.5 元的笔记本买了 3 本,打印一行小票:「笔记本 x3,合计 37.5 元」。数量是模拟输入的字符串 "3"。
✅ 参考答案
price = 12.5
count_text = "3"
count = int(count_text)
total = price * count
print(f"笔记本 x{count},合计 {total} 元")
count 要用 int() 转(数量是整数);total 自动是小数,因为 price 是 float。
随堂测验
1. 用户在 input() 弹出的输入框里输入了 100,程序拿到的是什么?
2. print(f"明年 {age + 1} 岁") 中花括号的作用是?
3. int("8") + 2 的结果是?
4. 用户输入的身高是“1.75”,想参与计算应该用哪个转换?
本课小结
- f-string:引号前加
f,花括号填空,可放变量可计算——拼字符串的默认姿势 input(提示语)让程序停下来等输入;网页环境用弹窗,Colab 里体验更完整- input 拿到的永远是字符串:要算数,先
int()/float()转型 - 这套"进来→转型→计算→漂亮输出"的流程,是几乎所有程序的骨架
下一课,程序学会"看情况办事"——if/else 条件判断。
划选正文任意文字可高亮、批注或加入复习卡
讨论
载入中…