我正嘗試創建一個三角形,它接受用戶輸入的值,並從這些值想要在這些輸入中找到最大路徑。我intitally問的問題找到這個最大路線:Finding the Maximum Route in a given input在Python中輸入三角形作爲輸入
代碼:
def triangle(rows):
for rownum in range (rows):
PrintingList = list()
print ("Row no. %i" % rownum)
for iteration in range (rownum):
newValue = input("Please enter the %d number:" %iteration)
PrintingList.append(int(newValue))
print()
def routes(rows,current_row=0,start=0):
for i,num in enumerate(rows[current_row]):
#gets the index and number of each number in the row
if abs(i-start) > 1: # Checks if it is within 1 number radius, if not it skips this one. Use if not (0 <= (i-start) < 2) to check in pyramid
continue
if current_row == len(rows) - 1: # We are iterating through the last row so simply yield the number as it has no children
yield [num]
else:
for child in routes(rows,current_row+1,i): #This is not the last row so get all children of this number and yield them
yield [num] + child
numOfTries = input("Please enter the number of tries:")
Tries = int(numOfTries)
for count in range(Tries):
numstr= input("Please enter the height:")
rows = int(numstr)
triangle(rows)
routes(triangle)
max(routes(triangle),key=sum)
錯誤輸入我的所有值三角形後我得到:
Traceback (most recent call last):
File "C:/Users/HP/Desktop/sa1.py", line 25, in <module>
max(routes(triangle),key=sum)
File "C:/Users/HP/Desktop/sa1.py", line 10, in routes
for i,num in enumerate(rows[current_row]): #gets the index and number of each number in the row
TypeError: 'function' object is not subscriptable
哪裏是我的錯誤在我的代碼?需要一些幫助..謝謝...
「路線(三角形)」應該是什麼意思? – 2012-04-13 13:20:31
三角形(行)不返回任何東西。 – cfedermann 2012-04-13 13:21:27