converter uma string para uma expressão matematica

496 views
Skip to first unread message

coca...@hotmail.com

unread,
Apr 17, 2019, 11:33:28 PM4/17/19
to eXcript
ola! criei uma calculadora a partir dos videos assistidos da eXcript porem cheguei a um problema para a conclusão da mesma. não sei como converter uma  string para uma expressão matemática e assim resolver naturalmente os valores informados, haja visto que para a solução deste problema uma simples questão posso atribuir aqui que me fara oportuno a resolver meu problema, assim não postarei todo código, veja:
se a é uma string apos uma concatenação fica assim:
a="9+5+3.5*(8*4)/9-2" # veja que uso inteiros, reais,  parenteses e ainda as operações matemáticas.
print(a) # sera retornado como string.
então o que faço para converter essa string em uma expressão matemática comum, dado que o python pode resolve-la so com os recursos nativos?

Denilson Petronio de Almeida

unread,
Apr 18, 2019, 10:37:05 AM4/18/19
to eXcript
olá Coca....,Em primeiro lugar para converter e so colocar o  tipo que se quer converter depois do sinal de atribuiçao =,e dpois sua expressao entre parenteses.
ex: a = int("9+5+3.5*(8*4)/9-2") e o contrario  = str(xxxxxxxxxxx) 

tric...@gmail.com

unread,
Aug 4, 2019, 5:58:01 PM8/4/19
to eXcript
Boa noite!

Acabei de discubrir uma função que pode resolver seu problema. Ela se chama eval e serve para avaliar os parámetros passados à ela.

Por exemplo, caso chamemos:

eval("2+2+2")

ela retornará 6!

Ou seja, pega a sua string e a interpreta.

Dessa forma você só precisa garantir que a string que você tá passando pra ela vai estar no formato das expressões matemáticas que usamos no python.

Eu utilizei essa função pra ler uma função matemática que o usuário digitasse, e assim poder calcular os valores dessa função, e me ajudou muito. Utilizando ela fiz um programa que calcula integrais pelo método dos trapézios :D


Em quinta-feira, 18 de abril de 2019 00:33:28 UTC-3, coca...@hotmail.com escreveu:
Reply all
Reply to author
Forward
0 new messages