私は2つの異なる数字で動作する基本的な電卓を書いています。 これまでは動作するプロトタイプを書いていましたが、それを分割して防止していたのですが、多くの問題が発生しましたので、 を別々に投稿しています。Python計算機をフールプルーフする
ユーザーが適格な演算子を提供しない場合は、プログラムで質問を繰り返してください。それは私が今持っているコードです:
def optn_query():
print("Hulk can different things with number!")
print("YOU!")
optn = input("What Hulk do with number?! ")
return optn
私は入力が正しいかどうかを決定するためにif文を使用していますか?
(優雅hulk_mathと呼ばれる)次の関数が途中で失敗しないように、また、私はそこに戻りOPTNを入れて、それはまだありません:
Traceback (most recent call last):
File "hulc.py", line 57, in <module>
main()
File "hulc.py", line 13, in main
hulk_math()
File "hulc.py", line 41, in hulk_math
if optn == "+":
NameError: name 'optn' is not defined
が、私はこれを修正するために何をすべき?
def hulk_math():
optn = optn_query()
#The rest of your code
また、num1
とnum2
ない限り、あなたのコード内の他の場所で定義されている、彼らはしているように:あなたが実際にあなたの関数を呼び出す必要があり
def hulk_math():
if optn == "+":
result = num1 + num2
print("Hulk ADDS!!! Hulk thinks it's {0}!".format(result))
elif optn == "-":
result = num1 - num2
print("Hulk SUBTRACTS!!! Hulk thinks it's {0}!".format(result))
elif optn == "*":
result = num1 * num2
print("Hulk MULTIPLIES!!! Hulk thinks it's {0}!".format(result))
elif optn == "/":
result = num1/num2
print("Hulk DIVIDES!!! Hulk thinks it's {0}!".format(result))
main()
あなたはプログラムを書く前に基本を学びたいと思うかもしれませんが、あなたは 'optn'が来ると思ったのですか?また、whileループが便利で、戻り値が関数を終了する可能性がありますが、sys.exitは必要ありません。 –