我認爲sum a list of numbers in Python會回答我的問題,但它沒有。Python中列表的總和
對於背景下,我工作的項目歐拉,問題9:https://projecteuler.net/problem=9
我收到錯誤
TypeError: unsupported operand type(s) for +: 'int' and 'list'
爲線
while sum(triplesList) <= 1000:
我不知道爲什麼sum(listname)
不起作用。
這裏是所有代碼:
triplesList = []
a = 0
b = 0
while sum(triplesList) <= 1000:
a += 1
b += 1
triplesList = [[a,b] for i in range(1)]
triplesList.append(a**2 + b **2)
if (math.sqrt(triplesList[1])).is_integer():
triplesList[1] = int(math.sqrt(triplesList[1]))
if sum(triplesList[0], triplesList[1]) == 1000:
print triplesList
print sum(triplesList[0] , triplesList[1])
print reduce(lambda x, y: x * y, triplesList[0], triplesList[1])
我感謝幫助!
'triplesList = [[一,對於i B]在範圍(1)]'使得'list'的列表'list',因此你不能加總'triplesList'。 – CoryKramer 2014-10-09 16:45:56
我很困惑,爲什麼我可以使用總和作爲一個條件之前,我已經把它列入清單。 – Longdaysjourneyintocode 2014-10-09 17:00:21
因爲你初始化爲'triplesList = []',所以它只是一個列表。在您執行我所評論的列表理解之前,它不會成爲列表的列表。 – CoryKramer 2014-10-09 17:01:53