Как сделать спуск строки каждые два элменета?
У меня есть кортеж, например:
(2, "Крутой чел", 3, "Награда 1")
Мне нужно чтобы получился вывод:
Награда #2 - Крутой чел
Награда #3 - Награда 1
Возможно ли это как то сделать?
Я пробовал обычный for, но получал вывод:
2
Крутой чел
3
Награда 1
Ответы (3 шт):
Автор решения: sumak
→ Ссылка
Можно распаковать кортеж в переменные. А потом вывести их в любой последовательности. Примерно так:
# Кортеж
awards = (2, "Крутой чел", 3, "Награда 1")
# Распаковка в переменные
r, b, c, h = awards
# Вывод в любой последовательности и в любом порядке
print(r, b)
print(c, h)
Автор решения: dofi4ka
→ Ссылка
Достаточно пройтись по кортежу с шагом 2 и на каждой итерации находить номер награды и саму награду
awards = (2, "Крутой чел", 3, "Награда 1")
for i in range(0, len(awards), 2):
awardno = awards[i]
award = awards[i + 1]
print(f"Награда #{awardno} - {award}")
Хотя скорее всего намного проще изменить то как именно данные хранятся
Автор решения: Qwertiy
→ Ссылка
x = (2, "Крутой чел", 3, "Награда 1")
for i,t in zip(x[::2], x[1::2]):
print(f"Награда {i}: {t}")
Награда 2: Крутой чел
Награда 3: Награда 1