Приложение, сохраняющая рекорды. Непонятная строка кода

# High Scores 2.0
# Demonstrates nested sequences

scores = []

choice = None
while choice != "0":

    print(
    """
    High Scores 2.0

    0 - Quit
    1 - List Scores
    2 - Add a Score
    """
    )

    choice = input("Choice: ")
    print()

    # exit
    if choice == "0":
        print("Good-bye.")

    # display high-score table
    elif choice == "1":
        print("High Scores\n")
        print("NAME\tSCORE")
        for entry in scores:
            score, name = entry
            print(name, "\t", score)

    # add a score
    elif choice == "2":
        name = input("What is the player's name?: ")
        score = int(input("What score did the player get?: "))
        entry = (score, name)
        scores.append(entry)
        scores.sort(reverse=True)
        scores = scores[:5]     # keep only top 5 scores

    # some unknown choice
    else:
        print("Sorry, but", choice, "isn't a valid choice.")

input("\n\nPress the enter key to exit.")

Помогите пожалуйста, не очень понимаю к чему тут эта строка:

score, name = entry

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

Автор решения: CrazyElf

Ниже по коду вы можете видеть фрагмент кода, который всё объясняет:

entry = (score, name)

entry - это кортеж, в одном месте кода он "собирается" из двух переменных, а в том месте, которое вас озадачило - его элементы наоборот "распаковываются" в две отдельные переменные. Синтаксис питона позволяет легко "распаковать" довольно разные структуры в отдельные переменные обычным с виду оператором присваивания.

→ Ссылка