🐥 Задача по Python #8Описание
Для заданной химической формулы, представленной строкой, подсчитайте количество атомов каждого элемента, содержащегося в молекуле, и верните объект(словарь dict).
Примеры
water = 'H2O'
parse_molecule(water) # Вернёт {'H': 2, 'O': 1}
magnesium_hydroxide = 'Mg(OH)2'
parse_molecule(magnesium_hydroxide) # Вернёт {'O': 2, 'H': 2, 'Mg': 1}
fremySalt = 'K4[ON(SO3)2]2'
parse_molecule(fremySalt) # Вернёт {'S': 4, 'O': 14, 'N': 2, 'K': 4}
Как вы могли заметить, в некоторых формулах есть скобки. Индекс вне скобок говорит вам, что вы должны умножить количество каждого атома внутри скобки на этот индекс. Например, в Fe(NO3)2 у вас есть один атом железа, два атома азота и шесть атомов кислорода.
Обратите внимание, что скобки могут быть круглыми, квадратными или фигурными, а также могут быть вложенными. Индекс после фигурных скобок является необязательным.
Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.
#задачи