Приложение, сохраняющая рекорды. Непонятная строка кода
# 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 - это кортеж, в одном месте кода он "собирается" из двух переменных, а в том месте, которое вас озадачило - его элементы наоборот "распаковываются" в две отдельные переменные.
Синтаксис питона позволяет легко "распаковать" довольно разные структуры в отдельные переменные обычным с виду оператором присваивания.