Seite 1 von 1

erster Taschenrechner brauche Hilfe bitte

Verfasst: Sonntag 6. Juli 2014, 18:50
von Nic985
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.

Re: erster Taschenrechner brauche Hilfe bitte

Verfasst: Sonntag 6. Juli 2014, 19:45
von /me
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.

Re: erster Taschenrechner brauche Hilfe bitte

Verfasst: Sonntag 6. Juli 2014, 19:54
von Nic985
Habs schon sry für den Aufwand und ps hab 3.x.Trotzdem Nett,dass du dich meiner angenommen hast.

Re: erster Taschenrechner brauche Hilfe bitte

Verfasst: Sonntag 6. Juli 2014, 19:56
von Nic985
noch ne Frage wie kann ich das Programm hier amzeigen lassen im Forum

Re: erster Taschenrechner brauche Hilfe bitte

Verfasst: Sonntag 6. Juli 2014, 20:39
von EyDu
Über dem Textfeld gibt es einen Code-Button. Kopiere einfach deinen Quelltext und füge ihn zwischen den Code-Elementen ein.

Re: erster Taschenrechner brauche Hilfe bitte

Verfasst: Sonntag 6. Juli 2014, 23:55
von Ene Uran
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

Re: erster Taschenrechner brauche Hilfe bitte

Verfasst: Montag 7. Juli 2014, 00:12
von EyDu
@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.

Re: erster Taschenrechner brauche Hilfe bitte

Verfasst: Montag 7. Juli 2014, 00:24
von 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.

Re: erster Taschenrechner brauche Hilfe bitte

Verfasst: Montag 7. Juli 2014, 16:47
von 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]

Re: erster Taschenrechner brauche Hilfe bitte

Verfasst: Montag 7. Juli 2014, 22:00
von Leonidas
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.

Re: erster Taschenrechner brauche Hilfe bitte

Verfasst: Dienstag 8. Juli 2014, 11:22
von /me
[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.