Wie kann man rechen Zeichen in Variablen machen Python?

RastaKopf  25.07.2021, 13:35

Vielleicht erklärst du was du vor hast und jemand kann dir einen Tipp geben das ganze sauber zu lösen?!

NiceGuy14732 
Beitragsersteller
 25.07.2021, 14:01

Ich möchte sort was machen:

Variable = /

4 Antworten

Ein Operatorzeichen kann als String in einer Variable gespeichert werden.

add_operator = "+"

Wobei du dann allerdings das Problem hast, das Zeichen noch evaluieren zu müssen. Da das alleinstehend kaum geht, müssen die beiden zu verrechnenden Werte mit einbezogen werden.

Beispiel:

summand_one = 1
summand_two = 2
add_operator = "+"

sum = eval(str(summand_one) + add_operator + str(summand_two))
print(sum)

Hier wird der gesamte Rechenterm zu einem String verbunden und an eval übergeben. Diese parst den String und interpretiert ihn als Python-Code. Das Ergebnis wird in sum gespeichert.

Das heißt, du machst dir alles nur komplizierter und fehleranfälliger. Du musst aufpassen, was du dir für einen String zusammenbaust und der Aufwand der Interpretation ist im Verhältnis viel zu hoch.

Sinnvoller wäre es, eine Funktion zu erstellen, die für dich bspw. eine Summenrechnung ausführt.

def get_sum(summand_one, summand_two):
  return summand_one + summand_two

sum = get_sum(1, 2)
print(sum)

Nun könnte man so eine Funktion zwar auch in einer Variable speichern:

get_sum = lambda summand_one, summand_two: summand_one + summand_two
sum = get_sum(2, 3)
print(sum)

Dies sei aber nur am Rande erwähnt. Es macht eher in Fällen Sinn, bei denen die Funktion zwischen Kontexten hin- und hergereicht werden soll, was hier nicht der Fall wäre.

Aber das macht doch keinen Sinn wieso solltest du eine Variable für ein einziges Zeichen nutzen was absolut statisch ist.

Meinst du im Namen der Variable also z.B. so:

ich+ich = 2

; das geht NICHT.

Woher ich das weiß:Studium / Ausbildung

Gar nicht. Falls du eine Rechnung in einer String machen willst:

var1 = f"text: {2+2}"