Ich habe ein Programm, das Arrays von Zahlen und Operatoren erzeugt, wie folgt: Was ich tun möchte, ist diese Art von Array für seinen numerischen Wert mit Reihenfolge der Operationen zu bewerten. Die Array-Länge kann sehr groß sein, aber sie beginnen und enden immer mit einer Nummer und eine Nummer folgt keiner Nummer und ein Operator folgt einem Operator nicht.
Ich denke, ich kann das Modul operator
für die Umwandlung der Operator-Zeichenfolgen in tatsächliche Operationen verwenden, aber ich weiß nicht, wie die Reihenfolge der Operationen Teil zu verwalten.Bewerten Array von Operatoren und Zahlen in Python
0
A
Antwort
0
Sie könnten dies versuchen, ziemlich naiv.
a = [1,'+',6,'*',3,'*',2]
source = ''
for i in a:
source += str(i)
print eval(source) # 37
+2
@ cricket_007 Nein, 'eval (''. Join (map (str, a)))'. –
Verwandte Themen
- 1. Regex zum Aufteilen von Zahlen und Operatoren
- 2. Sortieren Array von Zahlen mit arithmetischen Operatoren vs Vergleichsoperator
- 3. Zahlen und Strings in Array Python
- 4. Perl vergleichen Operatoren und stringified "Zahlen"
- 5. Array von Operatoren
- 6. Bewerten Iterator in Python
- 7. Drucken von Zahlen in Python
- 8. Python Boolean und logische Operatoren
- 9. Split eine Zeichenfolge auf Leerzeichen, Zahlen und Operatoren mit regex
- 10. Operatoren und Methoden in Ruby
- 11. Verwenden von Reverse-Operatoren in Python
- 12. Array-Element hinzufügen und dann neues Array neu bewerten
- 13. Verwenden von mehreren logischen Operatoren in Python
- 14. Wie funktioniert die Kette von `und` Operatoren in Python?
- 15. Operatoren und Strings in MIPS
- 16. Postgresql - JSON Array-Operatoren
- 17. Karte Array von Zahlen effizient in Python Rang
- 18. Konvertieren Array von ganzen Zahlen in Python String
- 19. Wie Operator% in und bewerten
- 20. Warum gibt es separate Vergleichsfunktionen/Operatoren für Strings und Zahlen?
- 21. einen Array/Liste von ganzen Zahlen von Python zu C#
- 22. Sortiere ein Array von Zahlen und Strings
- 23. Formatieren von Zahlen in Python
- 24. Python: Kombinieren AND und NOT Operatoren?
- 25. Bewerten mathematischen Ausdruck aus String - Python
- 26. Array von Zahlen zu ganzen Zahlen
- 27. Wie bewerten Sie ein Derivat in Python?
- 28. Warum sind "und" und "oder" Operatoren in Python nicht?
- 29. && = und || = Operatoren
- 30. Container und Operatoren in C++
Der einfachste Weg wäre, die Zeichen in eine Zeichenfolge zu verbinden und das integrierte eval() zu verwenden. Es ist nicht allgemein ratsam, dies zu verwenden, aber ohne Sichtbarkeit auf das größere Bild, dies würde tun, was Sie fragen. –
Falls 'eval' nicht in Frage kommt, werfen Sie einen Blick auf [Rangierbahnhof-Algorithmus] (https://en.wikipedia.org/wiki/Schunting-yard_algorithm). – niemmi