Range und Fließkommazahlen-Problem
Verfasst: Freitag 13. April 2007, 16:56
Hallo,
ich habe vor kurzem mit Python angefangen und hab als Übung mal einen BMI-Rechner gebastelt. Er funktioniert auch gut nur wollt ich noch etwas erweitern, sodass er das Ergebnis auf zwei Nachkommastellen rundet. Eigentlich kein problem, nur scheint die Range-Funktion Probleme zu haben:
Das problem ist, dass er den Bmi zwar mit zwei Nachkommastellen ausrerchent, aber wenn er dann sagen soll man ist z.b. normalgewichtig hat er eben Probleme mitdem range, vermutlich weil die range_funktion keine Fließkommazahlen unterstützt.
Kann ich das irgendwie hinkriegen, gibts da auch einen anderen befehl?
ich habe vor kurzem mit Python angefangen und hab als Übung mal einen BMI-Rechner gebastelt. Er funktioniert auch gut nur wollt ich noch etwas erweitern, sodass er das Ergebnis auf zwei Nachkommastellen rundet. Eigentlich kein problem, nur scheint die Range-Funktion Probleme zu haben:
Code: Alles auswählen
#!/usr/bin/python
# den BMI ausrechnen
#BMI=Körpergröße:(Körpergröße in m)²
import string
print "Mit diesem Programm können Sie Ihren BMI ausrechnen."
while True:
print
kg=int(raw_input("Tippen Sie bitte Ihr Gewicht in kg ein: "))
if kg<25 or kg>300:
print "Geben Sie bitte eine sinnvolle Eingabe ein"
print"_____________________________________________"
continue
cm=float(raw_input("Tippen Sie bitte ihre Größe in Metern ein: "))#float, wegen Fließkommadarstellung von Metern
if cm<1.00 or cm>2.50:
print"Geben Sie bitte eine sinnvolle Eingabe ein"
print"_____________________________________________"
continue
bmi=int (kg/cm**2) #BMI ausrechnen: als Ganzzahl=>Programm funktioniert einwandfrei
#als Fließkommazahl(bmi=float(kg/cm**2)=>Programm lässt den Rest aus
print"Ihr BMI beträgt : ","%.2f" % (bmi)
print
if bmi<20:
print "Sie sind untergewichtig!"
print
print
rest=raw_input("""Wollen Sie eine weitere Eingabe machen?
Beliebige Taste zum Fortfahren, `nein´ zum Beenden...
""")
if rest=="nein":
print "Vielen Dank! Auf Wiedersehen!"
break
else:
print "_____________________________________________"
continue
elif bmi in range(20,25):#eine Stelle, hab auch schon 20.00,25.00 ausprobiert
print "Sie sind normalgewichtig"
print
print
rest=raw_input("""Wollen Sie eine weitere Eingabe machen?
Beliebige Taste zum Fortfahren, `nein´ zum Beenden...
""")
if rest=="nein":
print "Vielen Dank! Auf Wiedersehen!"
break
else:
print "_____________________________________________"
continue
elif bmi in range (26,31):
print "Sie sind übergewichtig"
print
print
rest=raw_input("""Wollen Sie eine weitere Eingabe machen?
Beliebige Taste zum Fortfahren, `nein´ zum Beenden...
""")
if rest=="nein":
print "Vielen Dank! Auf Wiedersehen!"
break
else:
print "_____________________________________________"
continue
elif bmi>30:
print "Sie sind stark übergewichtig"
print
print
rest=raw_input("""Wollen Sie eine weitere Eingabe machen?
Beliebige Taste zum Fortfahren, `nein´ zum Beenden...
""")
if rest=="nein":
print "Vielen Dank! Auf Wiedersehen!"
break
else:
print "_____________________________________________"
continue
Kann ich das irgendwie hinkriegen, gibts da auch einen anderen befehl?