Ich versuche ein Dreieck zu erstellen, das vom Benutzer eingegebene Werte aufnimmt und von den Werten die maximale Route in diesen Eingaben finden möchte. Ich fragte intitally die Frage um die maximale Strecke in diese zu finden: Finding the Maximum Route in a given inputEin Dreieck als Eingabe in Python einbeziehen
Code:
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)
Der Fehler, den ich schließlich für Dreieck meine Werte Eingabe erhalten:
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
Wo ist mein Fehler in meinem Code? Hilfe brauchen .. Danke ...
Was soll 'routes (Dreieck)' bedeuten? –
Dreieck (Zeilen) gibt nichts zurück. – cfedermann