Ich habe versucht, einen BMI-Rechner in Python zu erstellen, aber wenn ich das Programm ausführe, heißt es: 'IndentationError: erwartet einen eingerückten Block'. Es heißt, dass der Fehler in Zeile 7 ist, aber was habe ich falsch gemacht? Ich verwende Python 3.5.1Wie behebt man einen erwarteten Blockfehler?
print ('Give your weight in kg: ')
weight_kg = float(raw_input())
print ('Give your length in meters: ')
length_meters = float(raw_input())
bmi = weight_kg/(length_meters * length_meters)
if bmi <= 18.5:
print ('Your BMI is'), bmi, ('what means that you have got underweight')
elif bmi > 18.5 and bmi <= 25:
print ('Your BMI is'), bmi, ('what means that you have got a normal weight')
elif bmi > 25 and bmi < 30:
print ('Your BMI is'), bmi, 'what means that you have got overweight')
elif bmi >= 30:
print ('Your BMI is'), bmi, ('what means that you have got obese')
nach dem Öffnen eines beliebigen Blocks geben Sie 4 Leerzeichen, um diesen Block einzurücken, versuchen Sie es. – bhansa
Sie beheben den eingerückten Blockfehler, indem Sie den eingerückten Block korrigieren. Python stützt sich auf Einrückung, um zu beschreiben, welcher Code in welchen Blöcken ist. Wenn Sie ein 'if' innerhalb eines' if' ohne Einrückung und 'elif' hätten, wie würde Python dann wissen, für welches' if' das 'elif' gedacht ist? Wie würde Python wissen, ob das zweite "if" innerhalb oder außerhalb des ersten "if" liegt? Einrückung macht deutlich, was Sie meinen. – zondo
Ein grundlegendes Tutorial könnte Ihnen einige Schmerzen ersparen. Das [offizielle Tutorial] (https://docs.python.org/3.5/tutorial/introduction.html#first-step-towards-programming) sagt Folgendes über die Einrückung: "Einrückung ist Pythons Art, Anweisungen zu gruppieren. [. ..] Beachten Sie, dass jede Zeile innerhalb eines Basisblocks um den gleichen Betrag eingerückt werden muss. " – syntonym