Python 入门第三课:让程序"开口说话":90% 新手都忽略的输入输出技巧

!tip 📝 课程目标:掌握 Python 的输入输出功能,让你的程序能和用户"对话"

一、输出信息:print() 函数

1.1 基础用法

Python 复制代码
print("Hello, Python!")

1.2 打印多个内容

Python 复制代码
# 用逗号分隔,自动添加空格
print("姓名:", "张三", "年龄:", 25)

# 输出结果:姓名:张三 年龄:25

1.3 自定义分隔符

Python 复制代码
# 使用 sep 参数改变分隔符
print("2024", "03", "27", sep="-")
# 输出:2024-03-27

print("A", "B", "C", sep="|")
# 输出:A|B|C

1.4 控制换行

Python 复制代码
# end 参数控制结尾(默认是换行符\n)
print("第一行", end=" ")
print("第二行")
# 输出:第一行 第二行

print("你好", end="!\n")
print("明天见")
# 输出:你好!
#       明天见

二、获取输入:input() 函数

2.1 基础输入

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

2.2 输入的都是字符串

Python 复制代码
age = input("请输入你的年龄:")
print(type(age))  # <class 'str'>

# 需要转换成数字
age_num = int(age)
print(f"明年你就 {age_num + 1} 岁了")

2.3 不同类型转换

Python 复制代码
# 转整数
num1 = int(input("请输入一个整数:"))

# 转浮点数
num2 = float(input("请输入一个小数:"))

# 转布尔值(注意:非空字符串都是 True)
flag = bool(input("请输入任意内容:"))

三、实战练习

练习 1:个人信息卡片

Python 复制代码
print("=== 个人信息生成器 ===")
name = input("姓名:")
age = input("年龄:")
city = input("城市:")
hobby = input("爱好:")

print("\n" + "="*30)
print(f"📇 姓名:{name}")
print(f"🎂 年龄:{age}岁")
print(f"📍 城市:{city}")
print(f"❤️ 爱好:{hobby}")
print("="*30)

练习 2:简单计算器

Python 复制代码
print("=== 简易计算器 ===")
num1 = float(input("请输入第一个数字:"))
num2 = float(input("请输入第二个数字:"))

print(f"\n{num1} + {num2} = {num1 + num2}")
print(f"{num1} - {num2} = {num1 - num2}")
print(f"{num1} × {num2} = {num1 * num2}")
print(f"{num1} ÷ {num2} = {num1 / num2}")

练习 3:问候机器人

Python 复制代码
print("🤖 你好!我是你的问候机器人~")
name = input("请问怎么称呼你?")
time = input("现在是早上、下午还是晚上?")

if time == "早上":
    print(f"早上好,{name}!祝你今天元气满满!☀️")
elif time == "下午":
    print(f"下午好,{name}!工作累了吗?记得休息哦~☕")
elif time == "晚上":
    print(f"晚上好,{name}!早点休息,晚安!🌙")
else:
    print(f"你好,{name}!无论何时,我都在这里帮你!✨")

四、格式化输出进阶

4.1 f-string(推荐)

Python 复制代码
name = "Python"
version = 3.12

print(f"{name} 最新版本是 {version}")
print(f"{name:_^20}")  # 居中,用_填充
# 输出:_______Python________

price = 199.5678
print(f"价格:{price:.2f}")  # 保留 2 位小数
# 输出:价格:199.57

4.2 format() 方法

Python 复制代码
# 位置参数
print("{} 今年 {} 岁".format("小明", 18))

# 关键字参数
print("{name} 喜欢 {hobby}".format(name="小红", hobby="编程"))

# 格式化数字
print("圆周率:{:.3f}".format(3.1415926))
# 输出:圆周率:3.142

五、常见错误与调试

错误 1:类型不匹配

Python 复制代码
# ❌ 错误
age = input("年龄:")
print(age + 1)  # TypeError: can only concatenate str to str

# ✅ 正确
age = int(input("年龄:"))
print(age + 1)

错误 2:转换失败

Python 复制代码
# ❌ 错误
num = int(input("请输入数字:"))  # 输入"abc"会报错

# ✅ 正确处理
try:
    num = int(input("请输入数字:"))
except ValueError:
    print("输入无效,请输入数字!")

六、今日挑战

🎯 挑战 1:BMI 计算器

编写一个程序,计算用户的 BMI 指数:

  • 输入身高(米)和体重(千克)
  • 计算公式:BMI = 体重 / (身高 × 身高)
  • 输出结果并判断:
    • BMI < 18.5:偏瘦
    • 18.5 ≤ BMI < 24:正常
    • 24 ≤ BMI < 28:偏胖
    • BMI ≥ 28:肥胖

🎯 挑战 2:故事生成器

创建一个互动故事:

  1. 询问用户5个问题(名字、地点、动物、食物、心情)
  2. 用这些答案编一个有趣的小故事
  3. 用漂亮的格式输出 示例输出:
Plain 复制代码
📖 《小明的冒险》

在一个阳光明媚的 北京,
小明 遇到了一只会说话的 熊猫。
它们一起分享了美味的 火锅,
度过了一个非常 开心 的下午!

七、小结

函数 作用 返回值类型
print() 输出信息到屏幕 None
input() 从键盘获取输入 str

!SUCCESS 关键要点:

  • input()返回的永远是字符串
  • 需要数字时用int()float()转换
  • f-string是最推荐的格式化方式
  • sepend控制输出格式

!note


相关推荐
JustHappy3 小时前
古法编程秘籍(二):什么是代码模块化?别背概念,把房间收拾明白就够了
前端·后端
小江的记录本3 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试
IT_陈寒6 小时前
Python闭包里藏的这个坑,差点让我加班到凌晨
前端·人工智能·后端
IT_陈寒6 小时前
Java注解空指针?这个坑我踩得莫名其妙
前端·人工智能·后端
土狗TuGou7 小时前
SQL内功笔记 · 第8篇:事务的四大特性与隔离级别
数据库·笔记·后端·sql·mysql·oracle
ZengLiangYi7 小时前
React Query + REST API 最佳实践
javascript·后端·react.js
星浩AI7 小时前
项目实战:合同智能审批 · LangGraph + HITL 人机协同方案 [有源码]
后端·langchain·agent
JavaGuide7 小时前
Codex 接入第三方模型 DeepSeek、GLM、Kimi 教程:CC-Switch 和 Codex++ 两种方案对比
后端·ai编程
ZengLiangYi7 小时前
Fastify 加 Electron:把 Web 服务嵌进桌面应用
前端·javascript·后端
李白你好8 小时前
页面资产梳理 · 技术指纹识别 · Spring 端点探测
java·后端·spring