Esempio n. 1
0
def isolar_capsula(lado_y,lado_oposto):
    posicao_c=0
    for i, termo in enumerate(lado_y):
        if termo=='capsula':
            posicao_c=i
    print(f'posica0_c {posicao_c}')
    print(f'capsula {lado_y}')
    if posicao_c!=0:
        antes_da_capsula=lado_y[:posicao_c]
        depois_da_capsula=lado_y[posicao_c+1:]
    else:
        antes_da_capsula=[]
        depois_da_capsula=lado_y[posicao_c+1:]
    
    while '+' in depois_da_capsula or '-' in depois_da_capsula:
        for i, termo in enumerate(depois_da_capsula):
            if termo=='+':
                lado_oposto.append('-')
                lado_oposto.append(depois_da_capsula[i+1])
                depois_da_capsula[i:i+2]=[]
                break
            if termo=='-':
                lado_oposto.append('+')
                lado_oposto.append(depois_da_capsula[i+1])
                depois_da_capsula[i:i+2]=[]
                break
    
    while '+' in antes_da_capsula or '-' in antes_da_capsula:
        lado_oposto.append('-')
        lado_oposto.append(antes_da_capsula[0])
        antes_da_capsula[:1]=[]
        if antes_da_capsula[0]=='+':
            antes_da_capsula[:1]=[]
        else:
            antes_da_capsula[:1]=[]
            lado_oposto=['(']+lado_oposto+[')','x','-1']
    lado_oposto=[solucionar(lado_oposto)]
    print(f'antes {antes_da_capsula}')
    if 'x' in depois_da_capsula or '/' in depois_da_capsula:
        if depois_da_capsula[0]=='x':
            lado_oposto=[str(float(lado_oposto[0])/float(depois_da_capsula[1]))]
            depois_da_capsula=[]
        else:
            lado_oposto=[str(float(lado_oposto[0])*float(depois_da_capsula[1]))]
            depois_da_capsula=[]
    if '/' in antes_da_capsula or 'x' in antes_da_capsula:
        print(f'antes {antes_da_capsula}')
        if antes_da_capsula[1]=='x':
            lado_oposto=[str(float(lado_oposto[0])/float(antes_da_capsula[0]))]
        else:
            lado_oposto=[str(float(antes_da_capsula[0])/float(lado_oposto[0]))]
            antes_da_capsula=[]
    return ['capsula'],lado_oposto
Esempio n. 2
0
def solucionar_parenteses(lado_y):
    while '(' in lado_y:
        for i,termo in enumerate(lado_y):
            if termo=='(':
                comeco=i
            if termo==')':
                final=i
                break
        if 'y' in lado_y[comeco:final+1]:
            lado_y[comeco]='['
            lado_y[final]=']' 
        else:
            sol_parenteses=[solucionar(lado_y[comeco+1:final])]
            lado_y[comeco:final+1]=sol_parenteses
    return lado_y
Esempio n. 3
0
def solucionar_lado_oposto(equacao):
    for i,valor in enumerate(equacao):
        if valor=='y':
            posicao_y=i
        if valor=='=':
            posicao_igual=i
    if posicao_y<posicao_igual:
        lado_oposto=equacao[posicao_igual+1:]
        lado_y=equacao[:posicao_igual]
    else:
        lado_y=equacao[posicao_igual+1:]
        lado_oposto=equacao[:posicao_igual]

    lado_oposto=[solucionar(lado_oposto)]
    
    return lado_y, lado_oposto
Esempio n. 4
0
def main():
    while True:
        escrever_titulo()
        tipo_conta=input('digite aqui: ')
        if tipo_conta=='F':
            break
        if tipo_conta=='C':
            escrever_titulo_conta_normal()
            conta=input('conta: ').split()
            solucao=solucionar(conta)
            print('')
            print(f' resultado: {solucao}')
        if tipo_conta=='S':
            bn.calcular_segundo_grau()
        if tipo_conta=='E':
            equacionar()