這是我的腳本,它是一個像計算器一樣的腳本,但是當我運行它時,它給了我while循環的無效語法?我是新來的蟒蛇請幫助我。在python中使用while循環的語法錯誤
import functools
numbers=[]
def mean():
end_mean = functools.reduce(lambda x, y: x + y, numbers)/len(numbers)
print(end_mean)
def sums():
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":
mean()
elif answer == 'sum':
sums()
elif answer== 'median':
median()
def median():
numbers.sort()
medianNumber=int(len(numbers))
if medianNumber%2==0:
end_median=numbers[int(len(numbers))/2]+numbers[int(len(numbers))/2+1]
if medianNumber%2==1:
numbers[int(len(numbers))+1/2
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":
mean()
elif answer == 'sum':
sums()
elif answer== 'median':
median()
print('Do you want anything else?')
reply=input()
if reply=='no':
break
elif reply=='yes':
whatDo()
else:
break
我沒有刪除while循環,但它說,打印功能是無效的。請記住,我是python的新手。
你在這之前就錯過了關閉'''的行。 – Barmar
此外,該行似乎缺少賦值操作。 – Barmar
爲什麼使用'functools.reduce'來獲取序列的總和?只需使用內置的sum函數。 –