Input Rechner

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
fstaske
User
Beiträge: 1
Registriert: Sonntag 13. Dezember 2015, 18:28

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
Sirius3
User
Beiträge: 17752
Registriert: Sonntag 21. Oktober 2012, 17:20

Hallo fstaske,
was hast Du schon versucht? Wie würdest Du die Aufgabe lösen und wo kommst Du konkret nicht weiter?
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

:D Rein aus Interesse: Ist das eine Schulaufgabe, d. h. wird Python bei euch in der Schule eingesetzt? Darf man fragen: (1) Welche Schulform? (2) Welches Bundesland? (3) Welche Stufe und welches Fach?

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. :roll:

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
Variante 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!?
BlackJack

@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? :shock: :-)

@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. :-)
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

Code: Alles auswählen

print("Hallo Welt!")
[codebox="python"]print("Hallo Welt!")[/code]

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!?
BlackJack

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]
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

Ah, danke!

Code: Alles auswählen

print("Hallo Welt!")
Ich hatte mich dann wohl in der Vorschau vom "Die Vorschau ist nicht verfügbar" abschrecken lassen.
Antworten