L'utilisateur saisira la formule chimique. Par exemple CO2OHC5H18COO. ou quelque chose comme ça. Ensuite, la sortie serait le poids moléculaire étant donné que C = 12,01, H = 1,008, O = 16. J'ai ce jusqu'à présent ...Comment calculer le poids moléculaire en python
while(True):
chemical_formula = input("Enter chemical formula, or enter to quit: ")
length = len(chemical_formula)
if chemical_formula == "":
break
else:
char = list(chemical_formula)
length = len(char)
for i in char:
if i == "C":
c = 12.0107
elif i == "H":
h = 1.00794
elif i == "O":
o = 15.9994
else:
if char[i-1] == "C":
print(float(i)*c)
elif char[i-1] == "H":
print(float(i)*h)
elif char[i-1] == "O":
print(float(i)*o)
Mais je ne peux pas obtenir pourquoi je l'utilise (i-1) pour obtenir l'élément précédent dans la boucle for afin que je puisse le multiplier par le nombre. Y at-il un autre moyen d'obtenir l'élément précédent de la chaîne? ou peut-être y a-t-il une façon différente d'aborder ce problème? toute aide serait grandement appréciée. Merci d'avance!