Anonymous user
Ranking methods: Difference between revisions
→{{header|Python}}: New d & sc rankers.
(New draft task and Python solution.) |
(→{{header|Python}}: New d & sc rankers.) |
||
Line 45:
while fifo:
yield start - 1, fifo.pop(0)
for item in iterable:▼
if first:▼
first = False▼
last, delta = item[0], 1▼
yield start, item▼
else:▼
if item[0] != last:▼
last = item[0]▼
yield start, item▼
def sc_rank(iterable, start=1):
"""Standard competition ranking"""
lastresult, lastrank = None, None
for n, item in enumerate(iterable, start):
def d_rank(iterable, start=1):
"""Dense ranking"""
▲ for item in iterable:
if item[0] == lastresult:
▲ else:
lastresult, lastrank = item[0], lastrank + 1
|