whileループを動作させることに問題があります。私はnext = yコマンドを使用してプログラムを起動しますが、最後にmain関数を実行するために(next == y)コーディングしたところで、このビットは機能していないようです。 「n」や「y」以外の文字を入力しても、その機能は引き続き繰り返されます。私の考えは、最初のnext = yがすべて乗り越えているということですが、そうでなければコードを実行して何も実行していないので、これを取り除くことはできません。whileループが動作しないのはなぜですか?
next = "y"
def main():
operator = input("Select a function and press enter (+, - , *, /) ")
if(operator != "+" and operator != "-" and operator != "*"and operator >!= "/"):
print(input("You must enter a valid operator "))
else:
val1 = int(input("Select value 1 "))
val2 = int(input("Select value 2 "))
if(operator == "+"):
print(add(val1, val2))
elif(operator == "-"):
print(sub(val1, val2))
elif(operator == "*"):
print(mult(val1, val2))
else:
print(div(val1, val2))
next = (input("Would you like to do another calculation? (y/n): "))
while(next == "y"):
main()
これは簡単な修正だと思うが、どうすればよいかわからない。
を終了する場合は、コードスニペットでインデントを修正してくださいもらえますか? 「メイン」にあるものとその外側にあるものを理解するのは難しいです。 – FlipTack