Подскажите, как работает этот код

SCORES = [
['666', 600],
['555', 500],
['444', 400],
['333', 300],
['222', 200],
['111', 1000],
['1', 100],
['5', 50]
]

def score(dice):
    dice = ''.join(list(map(str, sorted(dice))))
    points = 0

    for i, j in SCORES:
        while i in dice:
            points += j
            dice = dice.replace(i, "", 1)

   return points

Меня интересуют следующие вещи: зачем нужен цикл while и зачем используется метод replace.


Ответы (1 шт):

Автор решения: Idris Yalaletdinov

С помощью while проверяют есть ли элементы которые присутствуют в SCORES, те что в кавычках. А с помощью replace после увеличения поинтов заменяют то что в кавычках на пустую строку, чтобы отметить как учтенное

→ Ссылка