2016-04-03 16 views
-1

Python GUI'de basit bir hesap makinesini kodlamaya çalışıyorum ama bir sözdizimi hatası iletisi alıyorum. Programlamada yeniyim, bu yüzden ne yaptığından emin değilim.Girdi ile veri okurken sözdizimi hatası()

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 

Kod

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 veya Python 3 kullanın? – erip

+0

Python 2 kullanıyorsunuz. "Raw_input" kullanın ve 'input' kullanmayın – idjaw

+0

Yakın neden Typo, bir şekilde çözüldü .... – Drew

cevap

0

yerine input()

input() kullanımı raw_input() Eğer bir Python ifadesi olarak girmek verileri yorumlar. raw_input() ise girdiğiniz dizeyi döndürür.

2

kullandığınız takdirde piton 2x 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. OP'ye yardımcı olmak için muhtemelen hatalarını aynı bağlamda çoğaltmanıza yardımcı olacaksınız, neler olup bittiğini görselleştirmelerine yardımcı olmak için cevap veriyorsunuz. '+' Kullanın, örneğin 'merhaba' yerine – idjaw

+1

@idjaw güncellendi, teşekkürler – Hackaholic

+0

Özellikle, 'input() 'girişini bir python ifadesiymiş gibi değerlendirmeyi dener. Yani girişte 5 + 7'yi geçmek 12'ye dönecektir. Ve normal bir betikte olduğu gibi, sadece '+' yazılması geçersiz sözdizimidir. – Reti43