多重度の計算機を作っていますが、ほとんど問題があります。問題は、ユーザーが文字列入力をしたときに数値を要求するとコードが途切れてエラーがスローされます私はif
ステートメントのためにelse:
を持っています。if/elseステートメントのコードが破損しています
def Start():
numberOneList = []
numberTwoList = []
multiples = 100000
iterations = 0
multiplicity = int(input("How many common multiplicities you would like to find between two numbers: "))
if multiplicity > 0 and multiplicity < 100001:
numberOne = int(input("Input the first number: "))
if numberOne > 0 and numberOne < 100001:
numberTwo = int(input("Input the second number: "))
if numberTwo > 0 and numberTwo < 100001:
for i in range(multiples):
mNumberOne = numberOne * i
numberOneList.append(mNumberOne)
mNumberTwo = numberTwo * i
numberTwoList.append(mNumberTwo)
print("")
print("Common multiplicities:")
print("")
print("Calculating...")
print("")
for i in numberOneList:
for a in numberTwoList:
if a == i:
if a != 0:
print(numberOne, "x", i/numberOne, "=", i)
print(numberTwo, "x", a/numberTwo, "=", a)
print("")
iterations += 1
if iterations == multiplicity:
Again()
else:
continue
else:
continue
else:
continue
else:
print("Invalid answer, restarting")
Start()
else:
print("Invalid answer, restarting")
Start()
else:
print("Invalid answer, restarting")
Start()
def Again():
calculateAgain = input("Calculate again? [y/n]: ")
if calculateAgain == "y":
Start()
if calculateAgain == "n":
quit()
else:
Again()
Start()
'else'文がエラーをキャッチとは何の関係もないためです。 'try/except'を使う必要があります。 – kindall
再帰を使用して関数を再実行することを強くお勧めします。whileループを使用します。 –