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 is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません