erster Taschenrechner brauche Hilfe bitte

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Nic985
User
Beiträge: 4
Registriert: Sonntag 6. Juli 2014, 18:41

Also Leute ich hab ma ne Frage zu dem Befehl input.Und zwar würd ich gern einen ersten einfachen Taschenrechner programieren und dafür muss der Input +, -, /, * annehmen aber dass tut er nicht.
außerdem würd ich gern wissen wie man mit dem if Befehl beispielsweise machen kann, dass er wenn z.b. + eingetippt wurde zahl1 + zahl 2 gerechnet wird.
Ich bin noch relativ neu in Python :mrgreen: also bin ich für jede Hilfe dankbar.
LG: Nic985.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Nic985 hat geschrieben:Also Leute ich hab ma ne Frage zu dem Befehl input.Und zwar würd ich gern einen ersten einfachen Taschenrechner programieren und dafür muss der Input +, -, /, * annehmen aber dass tut er nicht.
"Tut nicht" ist keine Fehlerbeschreibung mit der man etwas anfangen könnte.

Ich rate mal. Du verwendest Python 2.x und bekommst einen Syntax Error. Das liegt in dem Fall daran, dass Python versucht, den eingegebenen Wert als Python-Code zu interpretieren und auszuführen. Da man sich damit eine riesige Sicherheitslücke ins Programm reißt verwendet man den Befehl unter Python 2 eigentlich nicht. Abgesehen davon ist die Eingabe eines Pluszeichens natürlich auch nichts, was input passend verarbeiten könnte. Verwende raw_input stattdessen.
Nic985
User
Beiträge: 4
Registriert: Sonntag 6. Juli 2014, 18:41

Habs schon sry für den Aufwand und ps hab 3.x.Trotzdem Nett,dass du dich meiner angenommen hast.
Nic985
User
Beiträge: 4
Registriert: Sonntag 6. Juli 2014, 18:41

noch ne Frage wie kann ich das Programm hier amzeigen lassen im Forum
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Über dem Textfeld gibt es einen Code-Button. Kopiere einfach deinen Quelltext und füge ihn zwischen den Code-Elementen ein.
Das Leben ist wie ein Tennisball.
Ene Uran
User
Beiträge: 125
Registriert: Sonntag 17. September 2006, 20:14
Wohnort: Hollywood

Mit Python2 musst Du raw_input() verwenden fuer den string s. Mit Python3 ist es input() ...

Code: Alles auswählen

s = "7+2"

print( eval(s) )  # gibt 9
Atomkraftwerkaktienbesitzer
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

@Ene Uran: Wenn man eval verwendet, dann kann man unter Python 2 auch gleich input benutzen. Das läuft aufs selbe hinaus. Eigentlich will man unter Python 2 aber nie input verwenden und in keiner Python-Version eval. Damit lassen sich beliebige Ausdrücke auswerten, was riesige Löcher ins Programm reißen kann. Sowohl aus der Sicht der Sicherheit, als auch aus der Sicht der Fehlerfreiheit. Immerhin operiert eval mit allen Rechten des gestarteten Programms und im Namesraum des eval-Aufrufs. Es wird also Tür und Tor für absichtliche und unabsichtliche Manipulation geöffnet.

Wenn man also einen String auswerten muss, dann muss man sich auch einen Parser dazu schreiben. Oder, wie in diesem Fall, das ast-Modul verwenden. Dies besitzt eine Funktion zur sicheren Auswertung von Ausdrücken.
Das Leben ist wie ein Tennisball.
BlackJack

Ausserdem hat man mit `eval()` eigentlich überhaupt nichts selber programmiert. Das macht hier absolut keinen Sinn, da kann man auch gleich einfach die Python-Shell aufrufen wenn man einen Taschenrechner haben möchte. Ein Anfänger lernt dabei nichts, ausser eine Funktion kennen, die man nicht verwenden sollte. Das ist also eher schädlich als nützlich.
Nic985
User
Beiträge: 4
Registriert: Sonntag 6. Juli 2014, 18:41

bei mir kommt des raus kann pls einer die Stelle kopieren und richtig zurückschicken ich kann das nähmlich net.

Code: Alles auswählen

[/C:\Python34\APython\Taschenrechner]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sorry, ich habe keinen Pfad der mit C:\ anfängt…

Generell ist es aber auch keine gute Idee, in den Ordner der Python-Installation Dateien reinzuschreiben. Dafür gibt es Benutzerverzeichnisse.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

[quote="Nic985"]bei mir kommt des raus kann pls einer die Stelle kopieren und richtig zurückschicken ich kann das nähmlich net.

Code: Alles auswählen

[/C:\Python34\APython\Taschenrechner][/quote]
Du kannst den Code nicht kopieren um ihn hier einzufügen? Wie kommt das denn?

Mal abgesehen davon solltest du deine Dateien nicht im Python-Ordner ablegen.
Antworten