Why does this not work?
def straight(ranks):
"Return True if the ordered ranks form a 5-card straight."
return range(max(ranks)-4, max(ranks)+1) == ranks.sort()
Assuming ranks is:
>>> ranks = [9, 8, 7, 6, 5]
>>> range(max(ranks)-4, max(ranks)+1)
[5, 6, 7, 8, 9]
>>> ranks.sort()
[5, 6, 7, 8, 9]
Then why is:
>>> range(max(s)-4,max(s)+1) == s.sort()
False
s.sort()returnsNonebecause it sorts the list in place. Usesorted(s).