Ich habe eine Aufgabe, in der ich eine Additionsaufgabe berechnen lassen soll.
Hier mal zum verstehen:
Schreibe ein Programm, das eine einzelne Eingabezeile von der Form «number1»+«number2» hat, wo beide Zahlen positive Ganzzahlen sind, und das die Summe von diesen zwei Zahlen ausgibt. So sollte zum Beispiel bei der Eingabe 5+12 folgendes die Ausgabe sein: 17.
Vorgegeben ist das :
S = input()
Jetzt soll ich, also wenn ich 5+12 eingebe dies berechnet werden.
Könnt ihr mir ein paar Codevorschläge machen?
ps. bin neu in der Programmierung
Input Rechner

Ich kenne nur Java als Lernsprache an Schulen. Python scheint dort sehr selten eingesetzt zu werden. Wäre interessant, wenn sich daran etwas ändert.
Schuldigung, dass ich da fast fertige Lösungen präsentiere. Ich konnte nicht widerstehen.

Variante 1
[codebox=python file=Unbenannt.txt]eingabe = "5+12"
while True:
eingabe = input("Eingabe a+b : ")
zahl1, zahl2 = eingabe.split("+")
print("Ergebnis für {}+{} lautet {}.".format(zahl1, zahl2, int(zahl1) + int(zahl2)))[/code]
Variante 2
Du kennst die Funktion eval(), die einen String auswertet? Du könntest Dir in dem Fall dann sogar das Auswerten (Variante 1 mit split() oder Variante 3 mit Zeichenweisem Parsen sparen):
Code: Alles auswählen
>>> eval("1+2")
3
Du könntest Zeichenweise einlesen und Zahlen solange aus einem String zusammenbauen, bis ein Operator kommt oder der String zu Ende ist.
PS Sehe ich es richtig, dass das Syntax highlighting nicht funktioniert!?
@pixewakb: Ausser Python funktioniert (noch?) kein Syntaxhighlighting. Also wirklich nur *python* nicht *pycon* was Du (fälschlicherweise) für den Python-Quelltext gewählt hattest.
Und *fast* fertige Lösungen?

@fstaske: Vergiss am besten ganz schnell wieder das es `eval()` gibt. Das ist eine Abkürzung für Leute die zu faul sind Python zu lernen und eine ordentliche Lösung zu schreiben. Ausserdem ist es gefährlich weil `eval()` beliebige Python-Ausdrücke auswertet, da könnte also auch jemand auf die Idee kommen Eingaben zu machen die dem Benutzer alle Dateien löschen. Ausserdem ist `eval()` wahrscheinlich nicht das was der Lehrer/Dozent erwartet weil man damit das Problem ja nicht selbst gelöst hat.
Und *fast* fertige Lösungen?


@fstaske: Vergiss am besten ganz schnell wieder das es `eval()` gibt. Das ist eine Abkürzung für Leute die zu faul sind Python zu lernen und eine ordentliche Lösung zu schreiben. Ausserdem ist es gefährlich weil `eval()` beliebige Python-Ausdrücke auswertet, da könnte also auch jemand auf die Idee kommen Eingaben zu machen die dem Benutzer alle Dateien löschen. Ausserdem ist `eval()` wahrscheinlich nicht das was der Lehrer/Dozent erwartet weil man damit das Problem ja nicht selbst gelöst hat.

Code: Alles auswählen
print("Hallo Welt!")
Ich komme nicht drauf, was ich eingeben muss, um die Syntaxhervorhebung zu bekommen. Jedenfalls funktionieren die Button in der Symbolleiste dann allesamt nicht. Kannst Du das so posten, dass ich es mir rauskopieren kann!?
Wenn man aus der Dropdown-Box *PY (Python)* auswählt (am einfachsten drauflicken, P und Y und dann Eingabetaste eingeben) wird folgendes eingefügt:
Code: Alles auswählen
[Codebox=python file=Unbenannt.py][/Codebox]
Ah, danke!
Ich hatte mich dann wohl in der Vorschau vom "Die Vorschau ist nicht verfügbar" abschrecken lassen.
Code: Alles auswählen
print("Hallo Welt!")