TypeError を回避する: 入力は最大で 1つの引数が期待され、Python で 3つが得られました

Zeeshan Afridi 2023年6月21日
  1. Python でユーザー入力を受け取る
  2. Python での TypeError: input expected at most 1 argument, got 3 エラーを回避する
TypeError を回避する: 入力は最大で 1つの引数が期待され、Python で 3つが得られました

Python プログラミングでは、ユーザーの入力を受け取る 2つの組み込みメソッドがあります: input(prompt)raw_input(prompt)。 2 番目のメソッド raw_input(prompt) は 2.X などの古いバージョンの Python で使用され、input(prompt) はまだ使用されています。

この記事では、input(prompt) メソッドに焦点を当てます。

Python でユーザー入力を受け取る

Python では、組み込みの input() 関数を使用してユーザーからの入力を取得し、それに応じてプログラムで使用します。

Python での input() 関数の使用:

name = input("Hey! What is your name? ")
print("Nice to meet you ", name)

出力:

Hey! What is your name? Zeeshan Afridi
Nice to meet you  Zeeshan Afridi

上記のプログラムでは、input(prompt) 関数を使用してユーザーの名前を尋ねました。 ユーザーが自分の名前を入力すると、それは name 変数に保存され、後で必要に応じてプログラムで使用できます。

Python での TypeError: input expected at most 1 argument, got 3 エラーを回避する

コンピューター プログラミングでは、TypeError は構文エラーであり、入力の構文が無効であるか、関数に余分な引数を渡しているために、開発者がプログラムの作成に誤りを犯したことを意味します。 よくあるエラーの 1つは、TypeError: input expected at most 1 argument, got 3です。

例を通してそれを理解しましょう:

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!")

出力:

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

上記のプログラムでは、最初の 3 行は問題なく実行されていますが、次のコード goal = input("What is your life goal Mr. ", name, " ?") でエラー TypeError: input expected 多くて 1つの引数で、3 を取得しました。

これは、Python の input() 関数が引数を 1つしか想定していないためです。ただし、input() 関数には 3つの引数を渡しました。 最初の引数は文字列 What is your life goal Mr. 、2 番目の引数は変数 name、最後の引数は文字列 ? です。

これらの引数はコンマ , で区切られており、それぞれが個別の引数であることを示しています。 しかし、入力プロンプトをそのまま出力したい場合は、これらの引数を連結して、input() 関数の期待に応える単一の引数にする必要があります。

例を通してそれを理解しましょう:

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!")

出力:

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!

上記のプログラムでは、プラス記号 + を使用して input() 関数の引数を連結し、単一の引数にして入力 TypeError を回避しています。

著者: Zeeshan Afridi
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

関連記事 - Python Error