Analysieren des mathematischen Ausdrucks in Python und Lösen, um eine Antwort zu finden

Ich bin ziemlich neu in der Programmierung. Dies steht im Zusammenhang mit Python. Die Idee ist also, einen Ausdruck wie 3/5 oder höchstens 3/5 * 2 zu nehmen (höchstens zwei Operatoren, beachten Sie, dass die Operatoren +, -, /, * sein können) und ihn zu lösen. Leerzeichen können überall im Ausdruck vorhanden sein.

Der Benutzer gibt den Ausdruck ein, z. B. 3/5, und das Programm muss den Ausdruck lösen und die Antworten anzeigen. Was ich versucht habe, ist unten. Beachten Sie, dass ich nur den ersten Teil ausprobiert habe, wenn ich den ursprünglichen Ausdruck, den der Benutzer eingibt (was eine Zeichenfolge wäre), richtig teilen kann. Das Erstellen von Funktionen wäre der einfache Teil:

expres= str(input("something:"))

ssplit= hit.partition("/")
onec= int((ssplit[0].lstrip()).rstrip())
twoc= (ssplit[1].lstrip()).rstrip()
threec= int((huns[2].lstrip()).rstrip())


print(onec,"...",twoc,"...",threec) #just a debug test print

Daher kann ich oben einen Ausdruck wie 3/5 nehmen und ihn in drei separate Zeichenfolgen aufteilen: 3, / und 5. Ich kann auch alle Leerzeichen vor und nach den Operatoren / Operanden entfernen. Ich habe Probleme beim Teilen von Ausdrücken wie 4/5 + 6, weil ich keinen Code für ssplit [3] oder ssplit [4] eingeben kann und dann einen Ausdruck wie 3/5 eingebe, weil er nicht definiert wird. Grundsätzlich brauchte ich Ihre Hilfe, um herauszufinden, wie man einen Ausdruck wie 3 / 4-6 usw. Teilt. Ich brauche auch Hilfe bei der Leitung "ssplit= hit.partition("/")", damit es den eingegebenen Ausdruck betrachtet und auch mit +, - und * funktioniert. Jede Hilfe wird gebeten. Auch wenn mein Code oben böse und ineffizient aussieht, geben Sie mir bitte Kritik. Danke!

Hinweis: Ich kann und möchte eval nicht verwenden. Reihenfolge der Operationen ist erforderlich. Ich kann keine komplizierten Befehle verwenden. Ich muss es einfach halten, das meiste, das ich verwenden kann, sind Zeichenkettenbibliotheken, das Konvertieren zwischen Zeichenketten / Ganzzahlen / Gleitkommazahlen usw. und wenn, und, usw. Aussagen. Ich kann auch Funktionen nutzen.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage