我有一個來自Python 中的居中平均演算法的型別錯誤。這是我的代碼
def calc_centered_average(numbers):
sorted_list = sorted(numbers)
return sum(sorted_list[1:-1])/(len(numbers)-2)
# return subnumbers, centered_average
numbers = [1, 4, 5, 6, 100]
sublist, cavg = calc_centered_average(numbers)
print(f"The centered average of {numbers} is {cavg} (based on {sublist}).")
uj5u.com熱心網友回復:
您的問題是由于您在函式中回傳一個值而不是兩個值而引起的。這是我認為您應該這樣做的正確方法:
def calc_centered_average(numbers):
sorted_list = sorted(numbers)
subnumbers = sorted_list[1:-1]
centered_average = sum(subnumbers)/(len(numbers)-2)
return subnumbers, centered_average
numbers = [1, 4, 5, 6, 100]
sublist, cavg = calc_centered_average(numbers)
print(f"The centered average of {numbers} is {cavg} (based on {sublist}).")
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/438686.html
標籤:Python python-3.x 算法 功能 数据结构
