- 掌握
input() 并理解它永远返回字符串、需转换类型。 - 掌握
print() 的 sep 与 end 参数。
二、学习路线
三、知识点讲解
1. input() 永远返回字符串 - input("提示语") 会在屏幕上显示提示并等待用户敲回车,返回的内容一定是 str。 - 想做数学运算必须先转:int(input()) 或 float(input()),否则 "18" + 1 会报 TypeError。
2. print() 的 sep 与 end - 默认多个参数之间用空格分隔:print("a", "b") → a b。可用 sep="-" 改成别的连接符。 - 默认打印完会换行(等价于 end="\n")。设 end="" 可让下一次打印接在同一行。
3. 格式化输出实战 - 结合 f-string 与对齐、小数位控制,能把数据打印成清晰可读的报表。
四、实例代码
对应文件:day05_io.py
# Day05: 输入与输出# 知识点:input() 返回字符串需转换、print 的 sep/end 参数、格式化输出实战。# 1) input() 始终返回字符串,需要计算时必须转换类型# 下面用固定字符串模拟一次输入,方便自动运行;# 真实交互时直接写:raw = input("请输入年龄:")raw = "18"age = int(raw)print("你输入的年龄是:", age, ",明年是:", age + 1)# 2) print 的 sep(分隔符)和 end(结尾符)参数print("默认", "多个", "参数", "用空格分隔")print("用 - 连接", "参数", "之间", sep="-")print("不换行", end="") # 把结尾的换行改成空print(",这一句接在上句后面") # 默认 end="\n" 正常换行结束# 3) 格式化输出实战:打印一份简单成绩单name = "小明"chinese = 88math = 92english = 79total = chinese + math + englishaverage = total / 3print("\n====== 成绩单 ======")print(f"姓名:{name}")print(f"语文:{chinese} 数学:{math} 英语:{english}")print(f"总分:{total} 平均分:{average:.2f}")
五、调试注意事项
input() 在真正交互程序里会阻塞等待输入;本示例用固定字符串模拟,便于自动运行。- 转换失败会
ValueError:让用户输入非数字(如 "abc")再 int() 会报错,后面会学「异常处理」来兜底。 - 想在同一行连续打印多个值,记得
end="",否则每个 print 都会换行。
六、运行结果提示
你输入的年龄是: 18 ,明年是: 19默认 多个 参数 用空格分隔用 - 连接-参数-之间不换行,这一句接在上句后面====== 成绩单 ======姓名:小明语文:88 数学:92 英语:79总分:259 平均分:86.33
七、常见错误与避坑
- 忘了转换就运算:
age = input(); print(age + 1) 报错,应 int(age)。 - 把
input 的提示语当成返回值的一部分:input("年龄:") 只返回用户敲的内容,不含 "年龄:"。 end="" 用完后若后续想正常换行,记得换回默认或手动 print()。