Was passiert wenn ich -856 eingebe?
LoL...
ich ahbe erst gerätselt
Aber birkenfeld hats gut gesagt ;9 Das Lässt er net durch... da di da dup
Und stimmt
Das ''== True'' ist ja im Prinziep doppelt gemoppelt
Aber am Anfang bei der Entwicklung ansich besser zu lesen... Ist das schlechter Programmierstil oder ist das einfach nur unschön? In welche Kategorie gehört das?
MfG ChrissiG
##EDIT##
Ich habe mein Script nun wieder etwas erweitert. Und zwar wird nun dem Alter entsprechen ein BMI-Wert angegeben, welcher nicht über/unterschritten werden sollte.
Das ganze habe ich wiefolgt gelößt und wollte mal eure Meinung dazu hören:
Die Prüfung ob das Alter angegeben ist oder nicht sieht wiefolgt aus:
Code: Alles auswählen
# Auf Alter hinweisen
if alter.isdigit():
print 'Sie haben das Alter angegeben, die Auswertung wird gleich folgen'
alter = int(alter) #alter zum Rechnen umwandeln
else:
alter = raw_input('Bitte geben Sie Ihr Alter an. Es wird benötigt!: ')
if alter.isdigit() == True:
print 'Sie haben Ihr Alter angegeben, Danke. Die Auswertung folgt.'
alter = int(alter) #alter zum Rechnen umwandeln
else:
alter = 'nein'
print 'Sie muessen Ihren BMI-Wert selbst vergleichen!'
Ich bin mir nicht sicher ob es hierdran schon liegt aber später taucht ein Fehler auf. Darüber später dann mehr.
Die Ausgabe habe ich wiefolgt gestaltet:
Code: Alles auswählen
# Auswertung
print
print 'Sie haben einen BMI von %.2f' % bmi
print 'gerundet müssten Sie einen BMI-Wert von %.f haben' % bmi
print
if alter < 24:
print 'Ihr BMI-Wert sollte Ihrem Alter entsprechend zwischen 19 und 24 liegen.'
elif alter < 34 and alter > 24:
print 'Ihr BMI-Wert sollte Ihrem Alter entsprechend zwischen 20 und 25 liegen.'
elif alter < 44 and alter > 34:
print 'Ihr BMI-Wert sollte Ihrem Alter entsprechend zwischen 21 und 26 liegen.'
elif alter < 54 and alter > 44:
print 'Ihr BMI-Wert sollte Ihrem Alter entsprechend zwischen 22 und 27 liegen.'
elif alter < 64 and alter > 54:
print 'Ihr BMI-Wert sollte Ihrem Alter entsprechend zwischen 23 und 28 liegen.'
elif alter > 64:
print 'Wenn Sie älter als 64 Jahre sind sollte Ihr BMI-Wert eine Groesse von 29 nicht ueberschreiten!'
else:
print 'Sie haben Ihr Alter nicht angegeben. Daher müssen Sie selbst Ihren Wert mit der folgenden Tabelle vergleichen.'
if alter == 'nein':
print
print 'Zum Vergleich. So sind die BMI Normalwerte dem Alter nach geordnet:'
print '19-24 Jahre 19-24' # 1
print '25-34 Jahre 20-25' # 2
print '35-44 Jahre 21-26' # 3
Usw... (möchte nicht so viel Posten!)
Dannach kommt halt nur noch Ausgabe und eine ''Return'' Abfrage zum Beenden.
So und nun zu meinem Fehler. Wenn ich das Alter nicht angebe bzw. ein ''nein'' reinschreibe kommt nicht der Spruch, dass ich mein Alter nicht angegeben habe, sondern das ich älter als 64 Jahre bin. Hier ein Beispiel:
Geben Sie Ihr Körpergewicht in Kg an: 90
Geben Sie Ihre Körpergröße in Meter an: 1,89
Geben Sie bitte Ihr Alter an: nein
Bitte geben Sie Ihr Alter an. Es wird benötigt!: nein
Sie muessen Ihren BMI-Wert selbst vergleichen!
Sie haben einen BMI von 25.20
gerundet müssten Sie einen BMI-Wert von 25 haben
Wenn Sie älter als 64 Jahre sind sollte Ihr BMI-Wert eine Groesse von 29 nicht ueberschreiten!
Zum Vergleich. So sind die BMI Normalwerte dem Alter nach geordnet:
19-24 Jahre 19-24
Beim ersten Mal weißt er richtig darauf hin, das die Person selber vergleichen muss. Beim 2. Mal fehlt dieser Spruch, obwohl eingebaut (siehe oben bei
Ausgabe)
Das ist im Moment das einzige Problem vor dem ich noch stehe.
Woran liegt das? Und wie kann ich das beheben? Könnt Ihr mir das bitte sagen?
Und weitere Verbesserungsforschläge sind natürlich immer willkommen
MfG ChrissiG