Python :: Aufgabe #97 :: Lösung #2

5 Lösungen Lösungen öffentlich
#97

Digitale Kalorienüberwachung

Anfänger - Python von Energy - 09.03.2016 um 14:25 Uhr
Erstelle ein Programm, das dich nach deinen gegessenen Nahrungsmitteln und deren Kalorien fragt. Diese Infos sollen in einem Dictionary (ggf. auch Liste oder Array) gespeichert werden. Nach jeder Nahrungsmitteleingabe soll gefragt werden, ob du noch weitere Nahrungsmittel gegessen hast.
Wurden keine weiteren Nahrungsmittel verzehrt, soll ausgerechnet werden, wie viele Kalorien du an diesem Tag aufgenommen hast.

Zusatz: Bei 60 Minuten schwimmen verbrennt man ungefähr 400 Karolinen. 30 Minuten spazieren verbrennt 50 Kalorien. Wie lange müsste man spazieren oder schwimmen, um die heute zugenommenen Kalorien wieder zu verbrennen? Berechne diese Werte und gebe sie mit den Verbrannten Kalorien aus.
#2
1x
vote_ok
von devnull (8870 Punkte) - 22.03.2016 um 20:20 Uhr
Quellcode ausblenden Python-Code
#!/usr/bin/python3
import math

CPM_SWIMMING = 400./60.
CPM_WALKING = 50./30.

def tofloat(s):
    try:
        return float(s)
    except ValueError:
        return -1.
        
foods = {}
food = input("Was hast du heute gegessen     : ")
while True:
	incal = input("Wie viele Kalorien hat es      : ")
	calories = tofloat(incal)
	if calories >= 0:
		foods[food] = calories
	else:
		print("Die Kalorienzahl ist nicht numerisch!")
		continue
	answer = input("Hast du noch etwas gegessen? ").lower()
	if answer[0] == 'n':
		break
	food = input("Was hast du heute noch gegessen: ")

sum_calories = sum(foods.values())
time_swimming = math.ceil(sum_calories/CPM_SWIMMING)
time_walking = math.ceil(sum_calories/CPM_WALKING)
print("\nDu hast {:.0f} Kalorien zu dir genommen.".format(sum_calories))
print("Du musst {:.0f} Minuten spazieren oder {:.0f} Minuten schwimmen.".format(time_walking, time_swimming))

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben