これは私のスクリプトです。計算機のように動作するスクリプトですが、実行すると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'関数を使うだけです。 –