benzinrechner/benzinrechner.py

68 lines
2.6 KiB
Python
Raw Normal View History

#!/usr/bin/python3
"""
Berechnet den Benzinverbrauch auf der Basis von Octan. Je nach Treibstoffart und Motortyp können die realen Werte +- 20% abweichen, dieses Programm
liefert aber für den Alltag brauchbare Anhaltswerte.
1 Joule = 1 Wattsekunde = 1 Newtonmeter
1 Joule wird benötigt, um 100 g um 1 Meter anzuheben.
1 Joule = 0,2388 Kalorien
"""
# N-Octan = C8H18 mit Dichte 0.7
carbonatome_pro_mol = 8
hydrogenatome_pro_mol = 18
cgewicht = 12 # Atomgewicht Kohlenstoff
hgewicht = 1 # Atomgewicht Wasserstoff
ogewicht = 16 # Atomgewicht Sauerstoff
molgewco2 = 44 # Molekulargewicht CO2
molgewicht = carbonatome_pro_mol * cgewicht + hydrogenatome_pro_mol * hgewicht
strecke = 0
radfahrkcalkm = 20
literprokm = 0
dichte = 0.7
kalorienfaktor = 9000 # kCal pro Kilogramm Sprit
print(
"Berechnet den Benzinverbrauch auf der Basis von Octan.\nJe nach Treibstoffart und Motortyp können die realen Werte +- 20% abweichen, dieses Programm liefert aber für den Alltag brauchbare Anhaltswerte."
)
literprokm = float(input("Wieviele Liter/100km braucht die Karre? ")) / 100
strecke = float(input("Wieviele Kilometer willst du fahren? "))
gesamtverbrauch = strecke * literprokm
spritgewicht = strecke * literprokm * dichte
# Gewichtsverhältnis C zu CO2
gainco2 = (cgewicht + 2 * ogewicht) / cgewicht
# Gewichtsverhältnis H zu H2O
gainh2o = (2 * hgewicht + ogewicht) / 2 * hgewicht
# Von C8H18 sind 8*12/(8*12+18) ~~ 84.2 Gewichtsprozent C und 18/(8*12+18) ~~15.8 Gewichtsprozent H
prozent_c = carbonatome_pro_mol * cgewicht / molgewicht
prozent_h = hydrogenatome_pro_mol * hgewicht / molgewicht
co2 = spritgewicht * prozent_c * gainco2
h2o = spritgewicht * prozent_h * gainh2o
# 200 kCal ---> 10 km Radfahren
kalorienverbrauch = spritgewicht * kalorienfaktor
radtourstrecke = kalorienverbrauch / radfahrkcalkm
# Avogadro: 1 Molekülgewicht in Gramm bei Gasen und 20°C braucht 22.4 Liter
# CO2 hat 44
co2volume = co2 / molgewco2 * 22.4 * 1000
print(
"Das verbraucht\n ",
gesamtverbrauch,
"Liter \nbzw\n",
spritgewicht,
"kg Sprit \nund erzeugt\n",
int(co2 * 1000) / 1000,
" kg co2\nmit einem Gesamtvolumen von",
int(co2volume) / 1000,
"\nund\n",
int(h2o * 1000) / 1000,
" kg Wasser.\nFür Nahrung umgerechnet auf Kilokalorien wären das etwa ",
kalorienverbrauch,
2023-10-29 14:07:05 +01:00
"kCal.\nEin Mensch benötigt über den Tag etwa 2000 kCal, 10 km Radfahren auf flachem Land etwa 200kCal.\nDer Sprit, würde, wäre es anders produziert, als Nahrung für ",
radtourstrecke,
"km ausreichen.\nLass es. Iss lieber was Leckeres und nimm das Rad. Oder iss nix und geh zu Fuß, wolltest doch eh abnehmen.",
)