You hard coded the range of your loop and it is probably greater than the length of the list
A quick fix is
def printInfo(average):
average.sort() # sorts the list of tuples
average.reverse() # reverses the list of tuples
print('\tDate\t\tAverage Price')
for i in range(len(average)): #Change was here
print("\t{:.2f}".format(average[i][2], average[i][1], average[i][0]))
however, a better fix is to use iteration:
def printInfo(average):
average.sort() # sorts the list of tuples
average.reverse() # reverses the list of tuples
print('\tDate\t\tAverage Price')
for a in average: # loops through each item of average
print("\t{:.2f}".format(a[2], a[1], a[0]))
2
solved Python error – list index out of range?