私はまったくの初心者で、 http://en.wikibooks.org/wiki/Python_Programming/Conditional_Statements を見てきましたが、ここで問題を理解できません。ユーザーがyを入力すると、IF answer == "y"で構文エラーが発生しますが、これは計算を実行して印刷する必要があります。
answer = str(input("Is the information correct? Enter Y for yes or N for no"))
proceed="y" or "Y"
If answer==proceed:
print("this will do the calculation"):
else:
exit()
大文字と小文字を区別しないif
とコード内の不適切なインデントを修正したとしても、おそらく期待どおりに機能しません。文字列のセットに対して文字列をチェックするには、in
を使用します。方法は次のとおりです(if
はすべて小文字であり、if
ブロック内のコードは1レベルインデントされていることに注意してください)。
1つのアプローチ:
if answer in ['y', 'Y', 'yes', 'Yes', 'YES']:
print("this will do the calculation")
別の:
if answer.lower() in ['y', 'yes']:
print("this will do the calculation")
If
はif
でなければなりません。プログラムは次のようになります。
answer = raw_input("Is the information correct? Enter Y for yes or N for no")
if answer.upper() == 'Y':
print("this will do the calculation")
else:
exit()
また、インデントはPythonでブロックをマークするため重要です。
あなたが欲しい:
answer = str(raw_input("Is the information correct? Enter Y for yes or N for no"))
if answer == "y" or answer == "Y":
print("this will do the calculation")
else:
exit()
または
answer = str(raw_input("Is the information correct? Enter Y for yes or N for no"))
if answer in ["y","Y"]:
print("this will do the calculation")
else:
exit()
注意:
input
は入力を評価します。"a" or "b"
は"a"
と評価されますが、0 or "b"
は"b"
と評価されます。 およびand and orの独特の性質 を参照してください。Pythonは大文字と小文字を区別する言語です。すべてのPythonキーワードは小文字です。if
ではなくIf
を使用してください。
また、print()
の呼び出しの後にコロンを置かないでください。また、Pythonはコードブロックを表すために括弧ではなくインデントを使用するため、print()
およびexit()
呼び出しをインデントします。
また、_proceed = "y" or "Y"
_はあなたが望むことをしません。 _proceed = "y"
_およびif answer.lower() == proceed:
、または同様のものを使用します。
また、入力値が単一文字「y」または「Y」でない限り、プログラムが終了するという事実もあります。これは、代替ケースの「N」のプロンプトと矛盾します。そこでelse
句の代わりに、事前に_info_incorrect = "n"
_とともにElif answer.lower() == info_incorrect:
を使用してください。次に、入力値が他の値であった場合、応答または何かを再入力します。
学習中にこのような問題が発生した場合は、Pythonドキュメンテーションのチュートリアルを読むことをお勧めします。 http://docs.python.org /tutorial/index.html
proceed = "y", "Y"
if answer in proceed:
また、あなたはしたくない
answer = str(input("Is the information correct? Enter Y for yes or N for no"))
あなたが欲しい
answer = raw_input("Is the information correct? Enter Y for yes or N for no")
input()
はPython式として入力されたものを評価し、raw_input()
は文字列を返します。
編集:それはPython 2のみに当てはまります。Python 3では、input
は問題ありませんが、str()
ラッピングは依然として冗長です。