私はこの質問が以前に尋ねられたことを理解していますが、実際の解決策を見つけることはできません。私はPythonを初めて使い、複数のBMIを入力できるBMI電卓を作成する必要がありますが、最初に正常にループバックすることはできません。私は2つの方法を試して、どちらも動作していません。ここでプログラムをループバックしてPythonで再起動させるにはどうすればよいですか?
は、私が最初のもののために持っているものだが、これは文句を言わない「のループではない継続」として実行: `
while True:
print("BMI Calculator")
weight = float(input("\nPlease enter your weight in KG: "))
height = float(input("\nPlease enter your height in metres: "))
bmi = weight/(height*height)
if bmi <= 18.5:
print("Your BMI is", bmi,"which means you are underweight.")
elif bmi > 18.5 and bmi < 25:
print("Your BMI is: ", bmi, "which means you are normal")
elif bmi > 25 and bmi < 30:
print("Your BMI is: ", bmi, "which means you are overweight")
elif bmi > 30:
print("Your BMI is: ", bmi, "which means you are obese")
else:
print("There was an error with your input, Sorry.")
while True:
answer = input("Would you like to enter another? key y/n: ")
if answer in ("y", "n"):
break
print("Invalid Input")
if answer == "y":
continue
else:
input("\nPress the enter key to exit")
break
`
私が持っているもう一つは、このですが、それプリントBMI電卓、その後停止します。 `
def start():
print("\nBMI Calculator")
weight = float(input("\nPlease enter your weight in KG: "))
height = float(input("\nPlease enter your height in metres: "))
bmi = weight/(height*height)
if bmi <= 18.5:
print("Your BMI is", bmi,"which means you are underweight.")
elif bmi > 18.5 and bmi < 25:
print("Your BMI is: ", bmi, "which means you are normal")
elif bmi > 25 and bmi < 30:
print("Your BMI is: ", bmi, "which means you are overweight")
elif bmi > 30:
print("Your BMI is: ", bmi, "which means you are obese")
else:
print("There was an error with your input, Sorry.")
answer = input("Would you like to enter another? key y/n: ")
while answer == "y":
start()
answer = None
if answer == "n":
input("\nPress the enter key to exit")
`
は実際にあなたのコードがどのように見えるか、インデントを台無しに取得したものをということですか? –
ループ内にすべてのコードを入れて、ユーザーがそう言ったときに抜け出す必要があります。 – lpozo
インデントが台無し –