Pythonで対数計算機を作ろうとしています。完成まであと一歩です。コードは次のとおりです。
import math
print("Welcome to logarithm calculator")
while True:
try:
inlog = int(input("Enter any value greater than zero to lookup its logarithm to the base 10\n"))
outlog = math.log(inlog, 10)
print(outlog)
# Here, the program will ask the user to quit or to continue
print("Want to check another one?")
response = input("Hit y for yes or n for no\n")
if response == ("y" or "Y"):
pass
elif response == ("n" or "N"):
break
else:
#I don't know what to do here so that the program asks the user to quit or continue if the response is invalid?
except ValueError:
print("Invalid Input: Make sure your number is greater than zero and no alphabets. Try Again.")
else ステートメントの後、「y」または「Y」、「n」または「N」として有効な応答になるまで、プログラムでユーザーに何度も応答するように求めます。ここに別の while ループを追加すると、ユーザーが「y」を入力した場合に pass ステートメントでうまく機能します。ただし、ユーザーが「n」と応答してもプログラムが壊れることはありません。これは、外側のループに陥るからです。では、これをどう整理するか。