2016-08-30 23 views
0

這是我的腳本,我是python的新手,但已經開始獲取此內容,請在答案中原諒,並記住我是新手。Python中計算器類型程序的錯誤ValueError

import functools 
numbers=[] 

def means(): 
    end_mean = functools.reduce(lambda x, y: x + y, numbers)/len(numbers) 
    print(end_mean) 

def sum(): 
    end_sum = functools.reduce(lambda x, y: x + y, numbers) 
    print(end_sum) 

def whatDo(): 
     print('Input Extra Numbers '+str(len(numbers)+1)+' (or nothing to close):') 
     try: 
      number= int(input()) 
      numbers.append(number) 
     except: 
      print('What do you want to do?') 
      answer = input() 
      if answer == "mean": 
       means() 

while True: 
    print('Input Number '+str(len(numbers)+1)+' (or nothing to close):') 
    try: 
     number= int(input()) 
     numbers.append(number) 
    except: 
     print('What do you want to do?') 
     answer = input() 
     if answer == "mean": 
      means() 
      print('Do you want anything else?') 
      reply=input() 
      if reply=='no': 
       break 
      elif reply--'yes': 
       whatDo() 
     else: 
      break 

但是我得到這個:

Traceback (most recent call last): 
    File "E:/Python/calculator.py", line 26, in <module> 
    number= int(input()) 
ValueError: invalid literal for int() with base 10: '' 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "E:/Python/calculator.py", line 37, in <module> 
    elif reply--'yes': 
TypeError: bad operand type for unary -: 'str' 

的 '你何求',我進入 '是' 之後。

+3

的問題是相當清楚的:'回答=='yes'' –

回答

3

elif reply--'yes':應該elif reply == 'yes':

1

你有一個錯字

elif reply--'yes' 

是應該的,當然

elif reply=='yes'