目录

一、print():代码的“嘴巴”,负责唠叨

1.1 最简单的唠叨:打个招呼

1.2 可以唠叨多个东西

1.3 不想换行?sep和end来帮忙

1.4 格式化输出:让字符串更好看

方法一:%格式化(老派作风)

方法二:format()方法(中坚力量)

方法三:f-string(现代王者,Python 3.6+)

二、input():代码的“耳朵”,负责听用户说话

2.1 最简单的倾听

2.2 input()的重要特性:返回的都是字符串

2.3 多个输入怎么处理?

三、输入输出实战:从“哑巴”到“话痨”

3.1 实战1:计算器(基础版)

3.2 实战2:猜数字游戏(交互版)

3.3 实战3:用户注册模拟(稍微正式一点)

四、输入输出的“隐藏技能”

4.1 print()的重定向:不打印到屏幕,打印到文件

4.2 输入密码时隐藏显示

4.3 多行输入

五、初学者常踩的坑(帮你提前避开)

坑1:忘了input()返回的是字符串

坑2:split()的时候数量对不上

坑3:忘了strip()处理多余空格

坑4:f-string里的大括号冲突

六、总结:让代码会说话,会听话


嘿,朋友!想象一下,你写了一段超级厉害的Python代码,它能计算圆周率后一万位、能模拟黑洞碰撞、能预测明天股票涨跌——但是,它既不能告诉任何人它算出了什么,也听不见用户想要什么

这就像你造了一台能飞到火星的火箭,却忘了给它装通讯设备——它再厉害,也只是一堆沉默的废铁。

在Python的世界里,input()和print()就是你的代码和外界对话的嘴巴和耳朵。今天,咱们就来好好聊聊这对“黄金搭档”,看看它们是怎么让死气沉沉的代码“活”起来的。


一、print():代码的“嘴巴”,负责唠叨

1.1 最简单的唠叨:打个招呼

python

print("Hello, World!")

这是每一个程序员的“成人礼”。当你看到终端里蹦出这行字,意味着你和Python的“对话”正式开始了。

print()的职责很简单:把它拿到的东西,显示到屏幕上让你看见。就像你养了一只鹦鹉,你教它说什么,它就说什么。

1.2 可以唠叨多个东西

python

name = "小明"
age = 18
print("我叫", name, "今年", age, "岁")
# 输出:我叫 小明 今年 18 岁

print()可以一次接收多个参数,用逗号隔开。它会自动在每两个参数之间加一个空格,最后加一个换行

生动类比:就像你妈喊你吃饭——“小明(空格)过来(空格)吃饭(换行)!”

1.3 不想换行?sep和end来帮忙

python

# 默认是换行的
print("第一行")
print("第二行")
# 输出:
# 第一行
# 第二行

# 不想换行?改end参数
print("第一行", end="---")
print("第二行", end="!!!")
# 输出:第一行---第二行!!!

# 不想用空格隔开?改sep参数
print("苹果", "香蕉", "橘子", sep="🍎")
# 输出:苹果🍎香蕉🍎橘子
  • end:控制打印完末尾加什么(默认是换行符 \n

  • sep:控制多个参数之间用什么隔开(默认是空格)

生动类比

  • end就像你说话说完之后的句号——可以是句号、感叹号,或者干脆不说话(end=""

  • sep就像你列举东西时的顿号——可以是“和”、“以及”,或者像上面那样用emoji

1.4 格式化输出:让字符串更好看

有时候你想把变量塞进字符串中间,直接拼接太麻烦。Python给你准备了三种“高级缝合术”:

方法一:%格式化(老派作风)

python

name = "老王"
age = 45
print("我叫%s,今年%d岁" % (name, age))
# 输出:我叫老王,今年45岁
  • %s:字符串占位符

  • %d:整数占位符

  • %f:浮点数占位符

生动类比:这就像你写填空卷子,先挖好坑(%s),再往坑里填东西。

方法二:format()方法(中坚力量)

python

print("我叫{},今年{}岁".format(name, age))
# 输出:我叫老王,今年45岁

# 还可以指定顺序
print("我叫{1},今年{0}岁".format(age, name))
# 输出:我叫老王,今年45岁(注意顺序换了)

# 还可以给变量起名
print("我叫{name},今年{age}岁".format(name="老王", age=45))

生动类比:这就像你给每个坑贴了标签,填东西的时候不用记顺序,直接喊名字就行。

方法三:f-string(现代王者,Python 3.6+)

python

print(f"我叫{name},今年{age}岁")
# 输出:我叫老王,今年45岁

# 里面还能直接做计算
print(f"明年我就{age + 1}岁了")
# 输出:明年我就46岁了

# 还能调用函数
import math
print(f"圆周率是{math.pi:.2f}")
# 输出:圆周率是3.14

生动类比:这就像你直接在说话的时候,把变量“嵌”进句子里,不用任何中间商赚差价。

记住f-string是现在最推荐的方式,简单、直观、强大,还能在里面写表达式。以后写格式化输出,优先用这个!


二、input():代码的“耳朵”,负责听用户说话

2.1 最简单的倾听

python

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

运行这段代码,你会看到屏幕上出现一行字:“请输入你的名字:”,然后程序就停在那里等你输入。你输入完按回车,它才继续往下走。

生动类比:就像你妈问你“中午想吃什么?”,然后拿着锅铲站在旁边,你不回答她就不下锅。

2.2 input()的重要特性:返回的都是字符串

这是初学者最容易踩的坑!

python

age = input("请输入你的年龄:")
print(f"明年你就{age + 1}岁了")  # 报错!

报错了!为什么?因为 input() 返回的永远都是字符串。你输入“18”,它拿到的是字符串 "18",不是数字 18

字符串 "18" + 1?Python懵了:“亲,字符串只能加字符串,不能加数字啊!”

解决方案:类型转换

python

age = input("请输入你的年龄:")
age = int(age)  # 把字符串转成整数
print(f"明年你就{age + 1}岁了")  # 完美运行!

# 或者一步到位
age = int(input("请输入你的年龄:"))

常见的类型转换函数:

  • int():转整数

  • float():转浮点数

  • str():转字符串(其实不用转,本来就是)

2.3 多个输入怎么处理?

如果你想让用户一次输入多个值,有几种方法:

方法一:split()分割

python

# 用户输入:小明 18 男
data = input("请输入姓名、年龄、性别(用空格隔开):")
name, age, gender = data.split()  # split()默认按空格分割
age = int(age)
print(f"姓名:{name},年龄:{age},性别:{gender}")

方法二:用特定分隔符

python

# 用户输入:小明,18,男
data = input("请输入姓名,年龄,性别(用逗号隔开):")
name, age, gender = data.split(",")
age = int(age)

生动类比:这就像你给用户发了一个填空题,让他一次填完多个空,你用split()这个“剪刀”把答案剪开,分别装进不同的变量里。


三、输入输出实战:从“哑巴”到“话痨”

3.1 实战1:计算器(基础版)

python

print("=== 简易计算器 ===")
num1 = float(input("请输入第一个数字:"))
num2 = float(input("请输入第二个数字:"))
operator = input("请输入运算符(+、-、*、/):")

if operator == "+":
    result = num1 + num2
elif operator == "-":
    result = num1 - num2
elif operator == "*":
    result = num1 * num2
elif operator == "/":
    if num2 == 0:
        print("错误:除数不能为0!")
        result = None
    else:
        result = num1 / num2
else:
    print("不支持的运算符!")
    result = None

if result is not None:
    print(f"计算结果:{num1} {operator} {num2} = {result}")

3.2 实战2:猜数字游戏(交互版)

python

import random

print("=== 猜数字游戏 ===")
print("我已经想好了一个1-100之间的数字,你来猜猜看!")

secret = random.randint(1, 100)
guesses = 0

while True:
    guess = input("请输入你的猜测(输入q退出):")
    
    # 用户想退出
    if guess.lower() == 'q':
        print(f"这就走了?答案是{secret}哦")
        break
    
    # 检查是不是数字
    if not guess.isdigit():
        print("请输入数字好吗?")
        continue
    
    guess = int(guess)
    guesses += 1
    
    if guess < secret:
        print("猜小了,再大一点")
    elif guess > secret:
        print("猜大了,再小一点")
    else:
        print(f"🎉 恭喜你猜对了!答案是{secret}")
        print(f"你一共猜了{guesses}次")
        break

3.3 实战3:用户注册模拟(稍微正式一点)

python

print("=== 欢迎注册 ===")

# 用户名:不能为空
while True:
    username = input("请输入用户名:").strip()  # strip()去掉首尾空格
    if username:
        break
    print("用户名不能为空!")

# 密码:长度至少6位
while True:
    password = input("请输入密码(至少6位):")
    if len(password) >= 6:
        break
    print("密码太短了!")

# 邮箱:简单验证
while True:
    email = input("请输入邮箱:")
    if "@" in email and "." in email:
        break
    print("邮箱格式不对,需要包含@和.")

# 年龄:必须是数字
while True:
    age_input = input("请输入年龄:")
    if age_input.isdigit():
        age = int(age_input)
        break
    print("请输入数字!")

print("\n=== 注册成功 ===")
print(f"用户名:{username}")
print(f"密码:{'*' * len(password)}")  # 密码用星号显示
print(f"邮箱:{email}")
print(f"年龄:{age}")

四、输入输出的“隐藏技能”

4.1 print()的重定向:不打印到屏幕,打印到文件

python

with open("output.txt", "w") as f:
    print("这行文字不会显示在屏幕", file=f)
    print("而是会写到output.txt文件里", file=f)

file参数可以指定print()的输出目标——默认是屏幕,但你可以改成任何文件。

4.2 输入密码时隐藏显示

input()有个缺点:你输入密码的时候,旁边的人能看见。这时候可以用 getpass 模块:

python

import getpass

password = getpass.getpass("请输入密码:")  # 输入时屏幕上什么都不显示
print("密码已输入")

注意:这个在IDE里可能不生效,需要在真正的终端里运行。

4.3 多行输入

有时候用户想输入多行内容(比如写一封信),可以用循环:

python

print("请输入内容(输入空行结束):")
lines = []
while True:
    line = input()
    if line == "":
        break
    lines.append(line)

print("\n你输入的内容是:")
for line in lines:
    print(line)

五、初学者常踩的坑(帮你提前避开)

坑1:忘了input()返回的是字符串

python

# 错误
age = input("年龄:")
if age > 18:  # 报错!字符串不能和数字比
    print("成年")

# 正确
age = int(input("年龄:"))
if age > 18:
    print("成年")

坑2:split()的时候数量对不上

python

data = input("输入三个数:")
a, b, c = data.split()  # 如果用户只输入了两个数,就报错

# 改进:先分割,再判断长度
parts = data.split()
if len(parts) == 3:
    a, b, c = parts
else:
    print("输入格式不对!")

坑3:忘了strip()处理多余空格

python

name = input("请输入姓名:")
if name == "admin":  # 如果用户输入了" admin "(带空格),就匹配不上
    print("欢迎管理员")

# 改进
name = input("请输入姓名:").strip()

坑4:f-string里的大括号冲突

python

# 如果你想在f-string里输出大括号本身
print(f"{{ 这是大括号 }}")  # 输出:{ 这是大括号 }
# 两个大括号会转义成一个大括号

六、总结:让代码会说话,会听话

函数作用要点
print()输出到屏幕可以加sepend,推荐用f-string格式化
input()从键盘获取输入永远返回字符串,记得类型转换
int()/float()类型转换把字符串转成数字
split()分割字符串处理多个输入
strip()去掉首尾空格清理用户输入

有了print()input(),你的Python程序就不再是“哑巴”,也不是“聋子”。它可以:

  • 问用户问题(input

  • 听用户回答(input的返回值)

  • 根据回答做处理(逻辑判断)

  • 告诉用户结果(print

这就是所谓的交互式程序——代码和人的对话。

下次你写程序的时候,记得给你的代码装上这对“嘴巴和耳朵”,让它真正活起来。毕竟,一个只会自己默默计算的程序,就像一个只会自言自语的人——虽然厉害,但有点孤独。

让代码开口说话吧,从print("Hello, World!")开始,到写出能和你聊天的程序结束。 🎤👂

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐