2016-04-03 10 views
-1

Ich habe versucht, einen einfachen Taschenrechner auf Python-GUI zu programmieren, aber ich bekomme eine Syntaxfehlermeldung. Ich bin neu im Programmieren, daher bin ich mir nicht sicher, was ich tun soll.Syntaxfehler beim Lesen von Daten mit Eingabe()

Traceback (most recent call last): 
    File "C:\Users\kmart3223\Desktop\Martinez_K_Lab1.py", line 126, in <module> 
    main() 
    File "C:\Users\kmart3223\Desktop\Martinez_K_Lab1.py", line 111, in main 
    operation = input("What operations should we do (+, -, /, *):") 
    File "<string>", line 1 
    + 
    ^
SyntaxError: unexpected EOF while parsing 

-Code

def main(): 
    operation = input("What operations should we do (+, -, /, *):") 
    if(operation != '+' and operation != '-' and operation != '/' and operation != '*'): 
     print ("chose an operation") 
    else: 
     variable1 = int(input("Enter digits")) 
     variable2 = int(input("Enter other digits")) 
     if (operation == "+"): 
      print (add(variable1, variable2)) 
     elif (operation == "-"): 
      print (sub(variable1, variable2)) 
     elif (operaion == "*"): 
      print (mul(variable1, variable2)) 
     else: 
      print (div(variable1, variable2)) 
main() 
+1

Python 2 oder Python 3? – erip

+0

Sie verwenden Python 2. Verwenden 'raw_input' und nicht' input' – idjaw

+0

Schließen Grund Typo, in einer Art und Weise gelöst .... – Drew

Antwort

0

Verwendung raw_input() statt input()

input() interpretiert die Daten, die Sie als Python-Ausdruck eingeben. raw_input() gibt andererseits die Zeichenfolge zurück, die Sie eingeben.

2

, wenn Sie mit Python 2x verwenden raw_input()

>>> input()   # only takes python expression 
>>> input() 
+ 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "<string>", line 1 
    + 
    ^
SyntaxError: unexpected EOF while parsing 
>>> input() 
'+'     # string ok 
'+' 
>>> input() 
7     # integer ok 
7 
>>> raw_input()    # Takes input as string 
+ 
'+' 
+1

Yup. Um OP zu helfen, würde es wahrscheinlich helfen, ihren Fehler in dem Kontext zu reproduzieren, den Sie beantworten, um ihnen zu helfen, sich vorzustellen, was vor sich geht. Verwenden Sie '+', zum Beispiel als Eingabe anstelle von 'Hallo' – idjaw

+1

@idjaw aktualisiert, danke – Hackaholic

+0

Insbesondere' input() 'versucht, die Eingabe zu bewerten, als wäre es ein Python-Ausdruck. Die Rückgabe von '5 + 7' in der Eingabe ergibt also 12. Und genau wie in einem normalen Skript ist das Schreiben von '+' eine ungültige Syntax. – Reti43

Verwandte Themen