第 12 课 · 阶段二 · 基础语法
输入与输出:input / print
前面程序都是单向输出,这一课让程序学会“听”:用 input() 读取用户输入,再用 print() 把结果告诉用户。
🎯 学完本课你将掌握
- 掌握 input() 的用法与返回值
- 理解 input 返回的一定是字符串
- 综合使用 input 与 f-string 做一个对话程序
一、input():读取用户输入
input("提示文字") 会先显示提示,等待用户在终端输入内容并回车,然后把输入的内容作为字符串返回。
第一次对话.py
1name = input("请输入你的名字:")2print(f"你好,{name}!很高兴认识你。")二、重要:input 返回的一定是字符串
⚠️ 注意
即使用户输入的是数字 18,input 拿到的也是字符串 "18"。想当数字用,必须先转换(第 13 课详解)。
验证类型.py
1age = input("请输入年龄:")2print(type(age)) # <class 'str'> 注意是字符串!三、做一个“加法机”
加法机.py
1a = input("请输入第一个数:")2b = input("请输入第二个数:")3# 不转换会变成字符串拼接4print("错误示范:", a + b) # 12 如果输入1和25# 先转成整数再相加6a2 = int(a)7b2 = int(b)8print("正确结果:", a2 + b2)四、print 的进阶输出
print 进阶.py
1name = "小花"2score = 993# 1. 逗号分隔(自动加空格)4print("姓名", name, "分数", score)5# 2. f-string(推荐)6print(f"姓名:{name},分数:{score}")7# 3. 表格对齐8print(f"{'姓名':<8}{'分数':>6}")9print(f"{name:<8}{score:>6}")10# 4. 不换行 + 分隔符11for i in range(5):12 print(i, end=" ")13print()五、综合小项目:个人信息登记
登记程序.py
1print("=" * 30)2print("欢迎使用信息登记系统")3print("=" * 30)4name = input("姓名:")5age = int(input("年龄:"))6city = input("城市:")7hobby = input("爱好:")8print("-" * 30)9print(f"姓名:{name}")10print(f"年龄:{age} 岁")11print(f"城市:{city}")12print(f"爱好:{hobby}")13print(f"简介:{name}来自{city},今年{age}岁,喜欢{hobby}")14print("-" * 30)六、常见错误与解决
常见错误与解决
| 错误现象 | 原因 / 解决方法 |
|---|---|
ValueError: invalid literal for int() | int() 转换时输入了非数字,例如输入了字母。可在转换前用 isdigit() 判断。 |
TypeError: unsupported operand | 字符串和数字做了 + 运算,先转换类型或改用 f-string。 |
程序一闪而过 | 交互模式下回车后程序结束,正常现象;想保持窗口可最后加 input("按回车退出")。 |
✍️ 小练习
写一个程序:分别输入语文、数学、英语三科成绩,计算总分和平均分(保留1位小数),用 f-string 格式化输出。
📌 本节小结
input() 让程序读入用户输入并返回字符串;做数学运算前要先 int()/float() 转换;输出推荐 f-string。学完输入输出,你的程序已经能和人“对话”了。