Zapisanie elementów tablicy jako wyrażenie matematyczne

0

Mając tablicę tab=[2, '+', 5] chciałbym, aby program wykonał mi na niej działanie 2+5. Czy są jakieś szybkie metody, czy muszę ręcznie napisać co program ma zrobić?

1

No zawsze można

result = eval(''.join([str(c) for c in tab]))

Ale tylko jeśli jesteś pewien co w tej tablicy siedzi ;]
Bo w ten sposób odpalisz w pythonie dowolny kod posklejany z elementów tablicy, co jest sporym ryzykiem z punktu widzenia bezpieczeństwa jeśli dane w tablicy idą od użytkownika.

1

Nie wiem jaki jest twój ostateczny cel, ale można też tak

a = [2, "+", 5]
import operator
operations = {"+": operator.add}
operations[a[1]](a[0], a[2])
0

Chciałem wykorzystać to do zrobienia zadania 13 stąd https://www.matematyka.pl/416047.htm (program by mi znalazł największą możliwą wartość), ale jednak samo zadanie mnie przerosło i na chwilę obecną nie mogę tego wykombinować. Może ktoś miałby czas i spróbowałby zrobić program, który by je rozwiązał?

0

A co tam trudnego? Generujesz wszystkie wariacje z powtórzeniami ze zbioru działań i wstawiasz pomiędzy jedynki a potem wyliczasz wartość wyrażenia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1