程序与用户交换信息,通常通过标准输出展示结果、通过标准输入接收用户键入。Python 中,print 负责输出,input 负责读入一行文本;须牢记 input 的返回值类型恒为 str,参与数值运算前须显式转换。本节说明 print 的分隔符与结尾控制、input 的语义,以及读入后配合 int / float 的完整示例。

print:标准输出

print() 可将多个实参写入标准输出,默认以空格分隔,末尾追加换行:

print("Python", "is", "fun")
print("第一行")
print("第二行")

输出:

Python is fun
第一行
第二行

分隔符与行尾:sep 与 end

可通过 sep 修改实参之间的分隔符,通过 end 修改本次打印的结尾字符(默认为 \n):

print("a", "b", "c", sep="-")     # a-b-c
print("第一行", end=" ")
print("还在同一行")                 # 第一行 还在同一行

input:标准输入

input(prompt) 先输出提示字符串(若有),再等待用户输入一行并返回;返回值始终为 str,即使用户输入的是数字形式:

name = input("请输入你的名字: ")
print("你好," + name)

运行效果(用户输入 小明):

请输入你的名字: 小明
你好,小明

读入后再转换类型

若将 input 的结果直接用于算术或与数字相加,可能引发 TypeError。需要数值时应先调用 int() 或 float():

# age = input("年龄: ")
# print(age + 1)      # TypeError: can only concatenate str

# 正确做法:先转换
age = int(input("年龄: "))
print("明年你", age + 1, "岁")

示例:两数运算

将两次输入均转为 float 后,即可进行四则运算:

a = float(input("输入第一个数: "))
b = float(input("输入第二个数: "))

print(a, "+", b, "=", a + b)
print(a, "*", b, "=", a * b)

输出示例:

输入第一个数: 5
输入第二个数: 3
5.0 + 3.0 = 8.0
5.0 * 3.0 = 15.0

读入时的常用写法

  • 一次读入多个字段:使用 split 分割,例如 a, b = input("两数: ").split()(默认按空白分隔)。
  • 去除首尾空白:对读入结果调用 .strip(),例如 name = input().strip()。
  • 在 print 中混合字符串与数字:要么统一转为 str 再拼接,要么用逗号分隔实参由 print 格式化。

练习:姓名与成绩

编写程序:读入姓名与成绩(成绩转为 float),输出姓名及是否及格(成绩 >= 60)。

Python 输入输出自测:姓名与成绩判断运行
name, score = input('请输入姓名和成绩(空格分隔): ').split()
score = float(score)
if score >= 60:
    print(f'{name} 及格了,成绩 {score}')
else:
    print(f'{name} 不及格,成绩 {score}')

本节说明了 Python 中 print 与 input 的用法及读入字符串与数值转换的关系。下一节介绍运算符:算术、比较、逻辑与赋值等表达式写法。