Как убрать ненужные шаги из этого расчета молекулярных масс?Python

Программы на Python
Anonymous
 Как убрать ненужные шаги из этого расчета молекулярных масс?

Сообщение Anonymous »

Вот мой код для расчета молекулярной массы (H2O, NO2, CO2, HCOOH) с использованием заранее определенных значений элементов в словаре.

Код: Выделить всё

mass = {"H":1, "O":16, "C":12, "N":14}

def moleculeMass(moleculeName):
p = 0
total = 0
for i in moleculeName:
if i.isalpha():
p = i
total += mass[i]
else:
total = total - mass[p] + (mass[p] * int(i))
return total

compoundName = input("input molecule name: ")
print(moleculeMass(compoundName))
В приведенном выше операторе else есть дополнительный шаг вычитания общей суммы из существующей массы элемента, если после буквы встречается число. Как я могу исключить эту дополнительную проверку?

Подробнее здесь: https://stackoverflow.com/questions/704 ... ar-weights

Вернуться в «Python»