Ich hab folgendes Problem:
Der Nutzer soll etwas eingeben und dass soll dann gespeichert werden und nachher verrechnet!
Aber wenn ich jetzt 22 eingebe dann speichert er mir 2 , 2 und nicht 22. Wichtig ist noch dass es sich um ein integer handeln muss weil ich das für die weitere Rechnung so brauche.
Hier mal mein Code:
Code: Alles auswählen
#!/usr/bin/env python3
import csv
import math
from collections import defaultdict
pMDict = defaultdict(list) #pM = physikalische Massen
zeile = []
with open ("isotopes.csv") as pM:
for line in pM:
line = line.rstrip()
data = line.split(',')
print(data)
element, n = data[:2]
pMDict[element].append(n)
print (pMDict)
formel = input ("Bitte geben Sie das Molekül ein: ")
formel = formel.upper()
formel_g = formel.split() #Formel aufsplitten
formel_e = [] #Liste aus einzelnen Bestandteilen der Formel
for element in formel_g:
for e in element:
formel_e.append(e) #Liste erstellen
print(formel_e)
for i in range(len(formel_e)):
try:
formel_e[i] = int(formel_e[i])
except ValueError:
pass
print(formel_e)
if type(formel_e[0]) == int:
print("Please check your input")
exit(1)
Zahlen = []
for i in range(len(formel_e)):
if formel_e[i] in pMDict:
print(formel_e[i], "zur Berechnung geeignet")
Zahlen.append(int(pMDict[formel_e[i]][0]))
if formel_e[i] not in pMDict:
Zahlen.append(int(int(pMDict[formel_e[i-1]][0])*int(formel_e[i])))
Zahlen.remove(int(pMDict[formel_e[i-1]][0]))
print("Berechnung mit ",e," nicht möglich")
print(Zahlen)
Ergebnis = 0
for z in Zahlen:
Ergebnis += z
print(Ergebnis)
Vielen Dank schon mal für eure Hilfe!
Mary