Evite el TypeError: entrada esperada como máximo 1 argumento, obtuvo 3 en Python
- Tomar la entrada del usuario en Python
-
Evite el error
TypeError: entrada esperada como máximo 1 argumento, obtuvo 3
Error en Python
En la programación de Python, tenemos dos métodos integrados para tomar la entrada del usuario: input(prompt)
y raw_input(prompt)
. El segundo método, raw_input(prompt)
, se usa en las versiones anteriores de Python como 2.X, y input(prompt)
todavía está en uso.
Este artículo se centrará en el método input(prompt)
.
Tomar la entrada del usuario en Python
En Python, usaremos la función integrada input()
para recibir información de los usuarios y usarla en el programa en consecuencia.
Uso de la función input()
en Python:
name = input("Hey! What is your name? ")
print("Nice to meet you ", name)
Producción :
Hey! What is your name? Zeeshan Afridi
Nice to meet you Zeeshan Afridi
En el programa anterior, hemos utilizado la función input(prompt)
para solicitar el nombre del usuario. A medida que el usuario ingresa su nombre, se almacenará en la variable nombre
, que luego puede utilizar en su programa en cualquier lugar que lo necesite.
Evite el error TypeError: entrada esperada como máximo 1 argumento, obtuvo 3
Error en Python
En la programación de computadoras, TypeError es un error sintáctico que significa que el desarrollador ha cometido algunos errores al escribir el programa debido a una sintaxis de entrada no válida o al pasar argumentos adicionales a las funciones. Y uno de los errores comunes es TypeError: entrada esperada como máximo 1 argumento, obtuvo 3
.
Entendámoslo a través de un ejemplo:
name = input("Please enter your name: ")
age = input("Please enter your age: ")
print("Your good name is ", name, " and your age is ", age)
goal = input("What is your life goal Mr. ", name, " ?")
print(goal)
print("Awesome!")
Producción :
Please enter your name: Zeeshan Afridi
Please enter your age: 24
Your good name is Zeeshan Afridi and your age is 24
TypeError: input expected at most 1 argument, got 3
En el programa anterior, las primeras 3 líneas se ejecutan sin problemas, pero la siguiente línea de código objetivo = entrada ("¿Cuál es el objetivo de su vida, Sr. ", nombre, "?")
arroja un error TypeError: entrada esperada como máximo 1 argumento, obtuvo 3
.
Esto se debe a que la función input()
de Python solo espera un único argumento, pero hemos pasado tres argumentos a la función input()
. El primer argumento es la cadena ¿Cuál es su meta en la vida, señor?
, el segundo argumento es la variable nombre
, y el último argumento es nuevamente una cadena ?
.
Hemos separado estos argumentos con la coma ,
, que indica que cada uno es un argumento independiente. Pero, si desea imprimir el indicador de entrada tal como está, debe concatenar estos argumentos para que sea un solo argumento para cumplir con las expectativas de la función input()
.
Entendámoslo a través de un ejemplo:
name = input("Please enter your name: ")
age = input("Please enter your age: ")
print("\nYour good name is ", name, " and your age is ", age)
goal = input("What is your life goal Mr. " + name + " ? ")
print("Awesome!")
Producción :
Please enter your name: Zeeshan Afridi
Please enter your age: 24
Your good name is Zeeshan Afridi and your age is 24
What is your life goal Mr. Zeeshan Afridi ? To be a Python Developer
Awesome!
En el programa anterior, hemos concatenado el argumento de la función input()
con la ayuda del símbolo más +
para convertirlos en un único argumento y evitar el error TypeError de entrada.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedInArtículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python