Evite el TypeError: entrada esperada como máximo 1 argumento, obtuvo 3 en Python

Zeeshan Afridi 21 junio 2023
  1. Tomar la entrada del usuario en Python
  2. Evite el error TypeError: entrada esperada como máximo 1 argumento, obtuvo 3 Error en Python
Evite el TypeError: entrada esperada como máximo 1 argumento, obtuvo 3 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 Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Artículo relacionado - Python Error