numbers=[]
while True:
print('Input Number '+str(len(numbers)+1)+' (or nothing to close):')
number=input()
numbers=numbers+[number]
if number=='':
print('What do you want to do?')
answer=input()
break
if answer==mean:
mean
def mean():
end_mean=reduce(lambda x, y: x + y, numbers)/len(numbers)
print(end_mean)
我想在python中製作一個計算器類型程序,它允許您輸入數字列表,然後選擇您使用它們執行的操作。上面的腳本只是一個開始,但是當我輸入數字並輸入'mean'時,它會詢問我要做什麼,它會結束腳本並不顯示任何內容。我是python的新手,所以請在答案中原諒。Python中的計算器類型程序錯誤
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
使用回答下面我有固定的腳本與此有關結束後想要別的東西「,我輸入'是'。
你的'break'在'if'檢查前是否應答=='意思是':'(我加了引號)和'mean'應該是'mean()'來調用一個函數 – depperm
什麼是python版本您正在使用? python2或python3? –
python 3 @AhsanulHaque –