Benzinrechner - berechnet CO2bilanz von Autofahrten 1.0
This commit is contained in:
commit
a359040f4e
2 changed files with 95 additions and 0 deletions
67
benzinrechner.py
Executable file
67
benzinrechner.py
Executable file
|
@ -0,0 +1,67 @@
|
|||
#!/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
|
||||
radfahrcalkm = 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 / radfahrcalkm
|
||||
|
||||
# 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,
|
||||
" m³ \nund\n",
|
||||
int(h2o * 1000) / 1000,
|
||||
" kg Wasser.\nFür Nahrung umgerechnet auf Kilokalorien wären das etwa ",
|
||||
kalorienverbrauch,
|
||||
"kCal.\nEin Mensch benötigt über den Tag etwa 2000 kCal, 10 km Radfahren auf flachem Land etwa 200.\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.",
|
||||
)
|
28
minibenzinrechner.py
Executable file
28
minibenzinrechner.py
Executable file
|
@ -0,0 +1,28 @@
|
|||
#!/usr/bin/python3
|
||||
cp, hp, cg, hg, og, m2, m3 = 8, 18, 12, 1, 16, 44, 1000
|
||||
mw = cp * cg + hp * hg
|
||||
dc = 0.7
|
||||
lk = float(input("Liter/100km? ")) / 100
|
||||
st = float(input("Strecke? "))
|
||||
gv = st * lk
|
||||
sw = gv * dc
|
||||
gc2 = (cg + 2 * og) / cg
|
||||
gh2 = (2 * hg + og) / 2 * hg
|
||||
p_c = cp * cg / mw
|
||||
p_h = hp * hg / mw
|
||||
co2 = sw * p_c * gc2
|
||||
h2o = sw * p_h * gh2
|
||||
cvl = co2 / m2 * 22.4 * m3
|
||||
print(
|
||||
"",
|
||||
gv,
|
||||
"l",
|
||||
sw,
|
||||
"kg Sprit\n",
|
||||
int(co2 * m3) / m3,
|
||||
"kg",
|
||||
int(cvl) / m3,
|
||||
"m³ CO2\n",
|
||||
int(h2o * m3) / m3,
|
||||
"kg H2O",
|
||||
)
|
Loading…
Reference in a new issue