top of page
pixel-art-1674061099gif_1674061104.gif

Nossas redes sociais

youtube

Se o site o ajudou, ajude o site

gif500.gif

pix
008-064-101-67

henrique liandro
da silva

constructor.webp

ajude o site a continuar funcionado

logo4.png

Separar as strings de uma Frase ou Palavra - Python

composto1 = 'SnBrCl3'

composto2 = 'C6H12O6'

composto3 = 'C7H5N3O6'


def qsplit(s):

stack = [] #Inicializa a pilha de separação.

result = [] #Inicializa a lista de resultados.

index= 0 #Inicializa o índice indicando o caractere sendo iterado.


#Sub-rotina que joga os valore da pilha na lista de resultados e esvazia a pilha.

def pop():

result.append("".join(stack)) #Joga o valor da pilha na lista de resultados.

stack.clear() #Esvazia a pilha.


#Itera pelos caracteres da string s...

while index < len(s):

#...verifica se o caractere é letra maiúscula...

if (val:= s[index]).isupper():

if len(stack)!=0: pop() #...se a pilha não estiver vazia chama pop()

stack.append(val) #...adiciona o caractere a pilha.

#...verifica se o caractere é letra minúscula...

elif val.islower():

stack.append(val) #...adiciona o caractere a pilha.

pop() #... chama a função pop().

#...verifica se o caractere é um digito decimal...

elif val.isdecimal():

if len(stack) !=0 and not stack[-1].isdecimal(): pop() #...se a pilha não estiver vazia chama pop()

stack.append(val) #...adiciona o caractere a pilha.

else:

print(f'Caractere {val} inválido.') #...caso o caractere não enquadre em nenhuma opção.

index += 1 #incrementa o índice do caractere sendo iterado.

else:

pop() #ao deixar o laço de iteração chama pop().

return result


print(qsplit(composto1)) #['Sn', 'Br', 'Cl', '3']

print(qsplit(composto2)) #['C', '6', 'H', '12', 'O', '6']

print(qsplit(composto3)) #['C', '7', 'H', '5', 'N', '3', 'O', '6']


91896796_edited.png

"Depoimentos são uma ótima forma de apresentar um feedback positivo que você recebeu. Adicione o seu."

Laura Castro

"Depoimentos são uma ótima forma de apresentar um feedback positivo que você recebeu. Adicione o seu."

Ana Serra

"Depoimentos são uma ótima forma de apresentar um feedback positivo que você recebeu. Adicione o seu."

Bruno Costa

"Depoimentos são uma ótima forma de apresentar um feedback positivo que você recebeu. Adicione o seu."

Cláudia Silva

bottom of page