Python - Funcion con operacion larga por parametro

 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 20 puestos en Python (en relación al último mes)
Gráfica de Python

Funcion con operacion larga por parametro

Publicado por Carlos (2 intervenciones) el 11/07/2020 09:59:13
Hola buenas tengo que hacer una funcion que reciba por parametro tipo esto Solucion(67+34-8+52-23) y que se resuelva al hacerlo se recibe como un string creo, si lo separo con split para hacer los numeros int pierdo los + y -
he probado tambien esto:

1
2
3
4
5
6
7
def solve(expresion=expresion):
    numeros = []
    for i in expresion:
        if i.isdigit():
            numeros.append(int(i))
        else:
            numeros.append(i)


Entonces se hace una lista [6, 7, '+', 3, 4, '-', 8, "+", 5, 2, "-", 2, 3] y no se como juntar los numeros y luego hacer la operacion estoy totalmente perdido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Funcion con operacion larga por parametro

Publicado por algoritmo (245 intervenciones) el 11/07/2020 11:08:36
Hola

Has probado la función eval ?

1
2
3
aaa = '67+34-8+52-23'
print eval(aaa)
122

Un saludo :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha disminuido su posición en 20 puestos en Python (en relación al último mes)
Gráfica de Python

Funcion con operacion larga por parametro

Publicado por Carlos (2 intervenciones) el 11/07/2020 12:20:15
Ojala saber la existencia de todas estas cosas muchas gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar