Я хотел бы улучшить свой код в Python. Я ищу логическую помощь здесь, чтобы получить тот же результат с меньшим количеством кода.Python: лучший логический способ решения «Изучение Atom»
Моя процедура получает строку атомов через параметр и «учит» их, возвращая список атомов, которые он узнал.
Я хотел бы знать, есть ли способ оптимизировать мой код.
def mol_term(molecule):
upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
list_of_atoms = []
for i in range(len(molecule) - 1): #goes all string long
if molecule[i] in upper:
if not molecule[i+1] in upper:
temp = molecule[i] + molecule[i+1] #if atom has two letters
i = i + 1
else:
temp = molecule[i] #if not
if not temp in list_of_atoms:
list_of_atoms.append(temp) #if atom is not in the list appends to it
if molecule[-1] in upper:
list_of_atoms.append(molecule[-1]) #checks last letter
return print(list_of_atoms)
спасибо.
Что такое атом? Вы имели в виду элемент, такой как Au, H, He? – justhalf