2017-08-17 2 views
0

私は簡単なプログラムを試してみたら、このメッセージが現れます: はTypeError:「をする」、左のオペランドとして文字列を必要とするスクリプトです をタプルない:左Operend文字列のエラー

Answer = "Yeah", "Yes" 
if Answer in input(): 
    print("Alright!") 

メッセージは私一度ショーを実行を押して、変数の1つを入力します。この場合、「はい」または「はい」です。 どうすればいいですか? はい、私はnoobie;)

答えて

1

あなたが何をしたいかによって異なります。

あなたは、ユーザーの入力はタプルの値のいずれかであるかどうかを確認したい場合は、あなたのif文で順番を切り替える:あなたは、ユーザーの入力のいずれかが含まれているかどうかを確認したい場合は

Answer = "Yeah", "Yes" 
if input() in Answer: 
    print("Alright!") 

タプルの値は、少し複雑です。最良の方法は、理解(あるいはこの場合には、タプル)リストを使用することで、内蔵のany()機能ブールに結果の収集をオンにする:

Answer = "Yeah", "Yes" 
if any(word in input() for word in Answer): 
    print("Alright!") 
+0

しかし、あなたが '[]'を置かないと、それは生成者の理解であり、リストの理解ではありません。 – Zcode

0

@styblはあなたの問題を解決する方法を示しました問題、私はあなたのエラーを説明します。この行で

Anwser = "Yeah", "Yes" 

あなたはタプルを作っています。タプルはリストのようなものですが、作成後に変更することはできません。

前のコード行は次のように書くことができる:Pythonで

Answer = ("Yeah", "Yes") 

括弧必要ではなく、2つの行は同じです。 文字列にタプル(好きな場合はリスト)があるかどうかをチェックするのは意味がありません。

タプルの詳細here