On Thu, Apr 18, 2019 at 9:31 AM Sayth Renshaw <flebber.c...@gmail.com> wrote: > > > I have created a function that takes a list as an argument. > Without using itertools I want to compare each item in the list to find the > max. > > However instead of the max I keep getting the last item in the list. Where > is my logic wrong here? > > def maximum(listarg): > items = list(listarg) > myMax = 0 > for index, item in enumerate(items): > for otheritem in items[index + 1 :]: > if item < otheritem: > myMax = otheritem > elif item > otheritem: > myMax = item > else: > myMax = myMax > > Seems like it should work but doesn't. >
I'd recommend rethinking your algorithm first, and then thinking about debugging your actual code. You should be able to find the largest in a collection without making many many passes over the items - a single pass should be sufficient. ChrisA -- https://mail.python.org/mailman/listinfo/python-list