Home >Backend Development >Python Tutorial >Why Does My Python Code Throw a 'TypeError: Input Expected at Most 1 Argument'?
Troubleshooting "TypeError: Input Expected at Most 1 Argument"
Your Python code encountering a "TypeError" indicates that the input() function is being incorrectly used. The error message suggests you've provided more than one argument to input(), which expects only one.
Let's delve into the code and see what's causing the issue:
answer = input("Is it", guess, "?")
As the error message states, this line passes three arguments to input(): the string "Is it", the variable guess, and another string "?". However, input() is designed to accept only one argument, which should be a string containing the user prompt.
To resolve this issue, we'll use string formatting or concatenation to combine the prompt and the guess into a single string:
answer = input(f"Is it {guess} ?")
Here, we use an f-string to embed the value of guess within the prompt string. This ensures that input() receives a single argument as expected.
Contrasting with print() Function
It's worth noting that the print() function in Python handles argument passing differently. print() can accept multiple arguments, and it automatically concatenates them into a single string for output. This is not the case with input().
In a nutshell, remember to provide input() with only one argument, while print() can handle multiple arguments to assemble a joined output string.
The above is the detailed content of Why Does My Python Code Throw a 'TypeError: Input Expected at Most 1 Argument'?. For more information, please follow other related articles on the PHP Chinese website!