Python input() 函数 – 详细解析

什么是 input() 函数?

Python 中的 input() 函数用于从键盘获取用户输入。它通过提示用户输入数据,使您的程序能够与用户进行交互,这些数据随后可以被处理或存储在变量中。默认情况下,input() 函数将用户的输入作为字符串返回,无论用户输入的是什么。

图片描述

input() 是如何工作的?

  1. 它等待用户输入内容。
  2. 它将输入的文本存储为“字符串”(文本)。
  3. 您可以将输入保存到一个变量中。
  4. 您可以在程序中打印或稍后使用它。

基本语法

 

input() 函数的基本语法是:

 

 

input([prompt])

prompt(可选):显示给用户的消息或指令字符串。

返回值:该函数将用户的输入作为字符串返回。

图片描述

示例:

name = input("你叫什么名字? ")
print("你好," + name + "!")

 

输出:

你的 名字 Vayola
你好 Vayola

这里发生了什么?

程序询问:“你的名字是什么?
用户输入他们的名字(例如:“Vayola”)并按下回车键。
程序然后打印“你好,Vayola!

图片描述

将输入转换为其他数据类型

input() 函数始终将输入视为字符串(文本)。即使用户输入一个数字,它也会被视为字符串。

age = input("请输入您的年龄: ")

print("年龄的类型:", type(age))  # 输出: <class 'str'>

如果您需要将输入作为不同的数据类型(例如,整数、浮点数等)进行处理,您必须使用适当的类型转换函数将输入转换为所需的类型。

这里是将输入转换为其他数据类型的语法和示例:

1. 将输入转换为整数

使用 int() 函数将输入转换为整数。

语法:

variable = int(input("提示信息"))

示例:

age = int(input("请输入您的年龄: "))
print("10年后的年龄:", age + 10)

输出:


输入 你的 年龄: 25
10 年后的 年龄: 35

2. 将输入转换为浮点数

使用 float() 函数将输入转换为浮点数。

语法:


variable = float(input("提示信息"))

示例:


height = float(input("请输入您的身高(米):"))

print("您的身高是:", height)

输出:

输入 您的 身高   1.75
您的 身高  1.75

 

 

 

3. 将输入转换为布尔值

 

使用 bool() 函数将输入转换为布尔值。请注意,非空字符串会被转换为 True,而空字符串会被转换为 False

 

语法:

 

 

variable = bool(input("提示信息"))

 

示例:

is_active = bool(input("您是否活跃?(按回车键为假):"))
print("活跃状态:", is_active)

 

输出:

 是否 活跃? ( 回车 表示 ): 
活跃 状态: 

 

4. 将输入转换为列表

如果用户输入多个用空格或逗号分隔的值,可以使用 split() 方法将输入转换为列表。

语法:

variable = input("提示信息").split()

示例:

numbers = input("请输入用空格分隔的数字:").split()
numbers = [int(num) for num in numbers]  #  字符串 转换为 整数
print("数字:", numbers)

输出:

输入  空格 分隔的 数字 10 20 30
数字 [10, 20, 30]

 

5. 将输入转换为元组

如果用户输入多个用空格或逗号分隔的值,可以使用 split() 方法将输入转换为列表。

语法:

variable = tuple(map(int, input("提示信息").split()))

 

示例:

values = tuple(map(int, input("请输入用空格分隔的数字: ").split()))
print("值:", values)

输出:

输入  空格 分隔的 数字 1 2 3
 (1, 2, 3)

 

6. 将输入转换为字典

如果用户输入键值对,可以将输入转换为字典。

语法:

html

variable = dict(item.split(":") for item in input("提示信息").split(","))

示例:

 

 

data = dict(item.split(":") for item in input("输入以逗号分隔的键值对: ").split(","))
print("数据:", data)

输出:

输入 :   逗号: 姓名:Vayola,年龄:25
数据: {'姓名': 'Vayola', '年龄': '25'}

 

7. 将输入转换为集合

您可以通过先拆分输入,然后将其转换为集合来实现。

语法:

variable = set(map(int, input("提示信息").split()))

 

示例:

unique_numbers = set(map(int, input("请输入用空格分隔的数字:").split()))
print("唯一数字:", unique_numbers)

输出:

输入  空格 分隔的 数字 1 2 2 3 3
唯一 数字 {1, 2, 3}

 

8. 类型转换的错误处理

在将输入转换为其他数据类型时,始终使用 try-except 块处理潜在的错误(例如无效输入)。

示例:

try:
    age = int(input("请输入您的年龄: "))

html
print(10年后的年龄:, age + 10)
except ValueError:
print(无效输入!请输入一个有效的数字。)

图片描述

 

这是一个演示将输入转换为不同数据类型的程序:

 

 

# 程序 用于 演示 用户 输入  类型 转换
def main():
    # 转换  整数

html
age = int(input(请输入您的年龄: ))
print(10年后的年龄:, age + 10)

# 转换 浮点数
height = float(input(请输入您的身高(米): ))
print(您的身高是:, height)

# 转换 列表


numbers = input("请输入用空格分隔的数字: ").split()  
numbers = [int(num) for num in numbers]  
print("数字:", numbers)  

# 转换  字典

python
data = dict(item.split(:) for item in input(请输入以逗号分隔的键值对: ).split(,))
print(数据:, data)

# 运行 程序
main()


 

更多