Función input() de Python3
Funciones integradas de Python3
input()La función se utiliza para obtener la entrada del usuario desde la entrada estándar (teclado), y devuelve untipo de cadena (str)。
Nota:
input()Sin importar lo que se ingrese, el valor de retorno siempre es una cadena. Si necesita realizar cálculos numéricos, debe realizar la conversión de tipo manualmente (por ejemploint()、float())。
Sintaxis de la función
input([prompt])
Descripción de parámetros:
- prompt:Opcional, mensaje que solicita al usuario la entrada
Ejemplo
input()Obtiene la entrada del usuario y la devuelve en forma de cadena.
Uso básico de input()
Incluso si lo ingresado es un número, el valor de retorno sigue siendo una cadena.
Problemas de tipo (errores comunes)
Nota:El valor obtenido directamente con input() no puede participar en cálculos numéricos.
Ejemplo incorrecto:
>>> a = input("请输入数字:")
>>> print(a + 1)
TypeError: can only concatenate str (not "int") to str
Escritura correcta:
>>> a = int(input("请输入数字:"))
>>> print(a + 1)
input() recibiendo múltiples valores
split()Dividirá la entrada en un arreglo de cadenas por espacios.
Ejemplo
a, b, c = input("Por favor, ingresa tres números:").split()
# Convertir tipo
a = int(a)
b = int(b)
c = int(c)
print(a, b, c)
Usandomap()Puede completar la conversión de tipo de una sola vez, el código es más conciso.
Escritura recomendada (avanzado)
a, b, c = map(int, input("Por favor, ingresa tres números:").split())
print(a, b, c)
Práctica: calcular el área de un triángulo
a, b, c = map(int, input("Por favor, ingresa la longitud de los tres lados del triángulo:").split())
# Calcular el semiperímetro
p = (a + b + c) / 2
# Calcular el área con la fórmula de Herón
s = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print("El área del triángulo es:", format(s, '.2f'))
Resultado de la ejecución:
请输入三角形三边的长:3 4 5 三角形面积为: 6.00
Resumen de usos comunes
input("提示"): entrada con mensajeinput(): entrada sin mensajeint(input()): obtener enterofloat(input()): obtener número de punto flotanteinput().split(): obtener múltiples cadenasmap(int, input().split()): obtener múltiples enteros (recomendado)
Diferencias entre Python2 y Python3
En Python2:
raw_input(): devuelve una cadenainput(): ejecutará la expresión (con riesgo de seguridad)
En Python3:
- Solo se conserva
input() - Devuelve uniformemente una cadena, más seguro y más fácil de entender
Resumen principal
Resumen en una frase:
input() = 获取输入 + 返回字符串
- Devuelve una cadena por defecto
- Para participar en cálculos, debe convertir el tipo
- Para múltiples entradas, se recomienda usar split() + map()
Otras extensiones