输入与输出插画

前三课我们的程序都是"自言自语":数据写死在代码里,运行结果也一成不变。真正的程序要和人互动——人把数据输进去,程序处理完再把结果吐出来。这一课就学这两个动作:输入 input() 与输出 print()。

一、输出:print() 再认识

print() 你已经用过很多次了,其实它还有两个很有用的小参数:

print("苹果", "香蕉", "橙子")
# 输出:苹果 香蕉 橙子(默认用空格分隔)

print("苹果", "香蕉", "橙子", sep="、")
# 输出:苹果、香蕉、橙子(sep 指定分隔符)

print("你好", end="")
print("世界")
# 输出:你好世界(end 默认是换行"\n",改成空字符串就不换行了)
参数作用默认值
sep多个值之间的分隔符空格 " "
end输出完之后加什么换行 "\n"

二、格式化输出:f-string

格式化输出示意

想把变量"嵌"进一句话里输出,用 f-string 最清爽:在字符串前面加个 f,变量名放进 {} 里:

name = "小明"
score = 95.5
print(f"{name}的成绩是{score}分")
# 输出:小明的成绩是95.5分

# 还能控制格式,比如保留两位小数:
print(f"圆周率是{3.14159:.2f}")
# 输出:圆周率是3.14
💡 :.2f 的意思是"保留 2 位小数的浮点数",做成绩、价格这类输出时特别常用。f-string 是 Python 3.6 引入的,现在写新代码首选它。

三、输入:input()

input() 让程序停下来等人输入:括号里写提示语,用户输入的内容会被"抓"回来:

name = input("请输入你的名字:")
print(f"你好,{name}!")

运行后屏幕上显示"请输入你的名字:",光标闪烁等你打字回车,你输入的文字就被装进了 name。

⚠️ 牢记一条铁律:input() 抓回来的永远是字符串,哪怕你输入的是数字!想做计算,必须先类型转换(第三课的知识派上用场了):
age = input("请输入你的年龄:")   # 输入 16,得到的是 "16"
print(age + 1)                    # 报错!字符串不能和数字相加
age = int(age)                    # 转成整数
print(f"明年你就{age + 1}岁了")    # 正常输出

四、经典坑:拼接不是相加

新手十有八九踩过这个坑,亲手试一次就记住了:

a = input("输入第一个数:")   # 输入 10
b = input("输入第二个数:")   # 输入 20
print(a + b)                  # 输出 1020!字符串的 + 是"拼接"

# 正确做法:先转成数字再算
print(int(a) + int(b))        # 输出 30

五、综合小项目:BMI 计算器

BMI 计算器小项目

把本课知识串起来,做个体测小工具。BMI 公式:体重(千克) ÷ 身高(米)²:

height = float(input("请输入身高(米):"))
weight = float(input("请输入体重(千克):"))
bmi = weight / (height ** 2)
print(f"你的BMI是:{bmi:.1f}")

BMI 对照表(记下来,下节课有用):

BMI 范围体型
小于 18.5偏瘦
18.5 ~ 24正常
24 ~ 28偏胖
28 及以上肥胖
💡 现在程序只会算出数字,还不会自动说"你偏瘦/正常"。别急,下一课学了 if 条件分支,就能让程序自己查表下结论了!

六、动手练一练

练习 1:写一个"自我介绍生成器"——用 input() 依次输入姓名、班级、爱好,然后用 f-string 输出一句完整的自我介绍。

练习 2:让用户输入两个小数,输出它们的和(注意类型转换),结果保留 2 位小数。

点击查看参考答案
# 练习1
name = input("姓名:")
cls = input("班级:")
hobby = input("爱好:")
print(f"大家好,我是{cls}的{name},我喜欢{hobby}。")

# 练习2
x = float(input("输入第一个小数:"))
y = float(input("输入第二个数:"))
print(f"它们的和是:{x + y:.2f}")
🎉 这一课你学会了:print 的 sep/end、f-string 格式化、input 输入,以及"输入的是字符串"这条铁律。下一课学习运算符与表达式——让程序真正算起来!
More

相关教程