输入与输出
学习 print() 输出和 input() 输入,掌握格式化输出方法
输入与输出
程序需要和用户互动。Python 用 print() 输出信息,用 input() 接收用户输入。
学完本章你将掌握: print 高级用法、f-string 格式化技巧、input 输入处理。
一、print() 深入
python
# 基本输出
print("Hello")
# 多个参数(自动加空格)
print("姓名:", "小明", "年龄:", 20)
# sep:自定义分隔符
print("A", "B", "C", sep="-") # A-B-C
print("2024", "07", "22", sep="/") # 2024/07/22
# end:自定义结尾(默认是换行 \n)
print("加载中", end="...")
print("完成!") # 加载中...完成!
for i in range(5):
print(i, end=" ") # 0 1 2 3 4(同行输出)
二、f-string 格式化
python
name, age = "小明", 20
# 变量插入
print(f"我叫{name},今年{age}岁")
# 对齐(左< 中^ 右>)
print(f"|{'左对齐':<10}|{'居中':^10}|{'右对齐':>10}|")
# 数字精度
pi = 3.14159265
print(f"π ≈ {pi:.2f}") # 3.14
print(f"1000000 = {1000000:,}") # 1,000,000(千分位)
# 百分比和进制
print(f"及格率: {85/100:.0%}") # 85%
print(f"255 的十六进制: {255:x}") # ff
print(f"42 的二进制: {42:b}") # 101010
# 表达式
print(f"2^10 = {2**10}")
三、input() 输入
python
# 基本使用
name = input("请输入你的名字: ")
print(f"你好, {name}!")
# input 返回的永远是字符串!
age_str = input("请输入年龄: ")
age = int(age_str) # 转换为整数
print(f"明年你 {age + 1} 岁了")
# 一行搞定
score = float(input("请输入分数: "))
print(f"你的分数: {score}")
⚠️ 注意:
input()返回的永远是字符串类型。做数学运算前需要int()或float()转换。
四、安全的输入处理
python
# 防御性编程:处理无效输入
while True:
try:
age = int(input("请输入年龄: "))
if age < 0 or age > 150:
print("请输入合理的年龄!")
continue
break
except ValueError:
print("请输入有效数字!")
print(f"年龄: {age}")
五、执行外部命令并获取输出
python
import subprocess
# 代替 os.system() 的现代方式
result = subprocess.run(
["echo", "Hello from subprocess"],
capture_output=True,
text=True
)
print(result.stdout.strip())
小结
print()支持sep和end参数控制格式- f-string 是最推荐的格式化方式:
f"{变量}" input()返回字符串,做运算前要int()/float()转换- 用
try-except处理无效输入
小练习
- 让用户输入姓名和年龄,打印"XX 明年 YY 岁"
- 打印 1 到 10 在同一行,用
-分隔
💬 下一章:数字与数学运算——深入数值处理。