:= 😱Морж появился в Python относительно недавно. И многим он совсем не зашёл, в т.ч. и мне. 😏
Решил дать ему второй шанс. И морж практически провалил его. Но... 🦭
Единственная ситуация, где пара := оказалась удобной в использовании - замена бесконечного цикла while True и логической проверки выхода через break.
Было:
while True:
res = input()
if res == EXIT:
break
...
Стало:
while (res := input()) != EXIT:
...
А в качестве бонуса держите игру в камень, ножницы, бумага против компьютера с моржовым оператором и секретной фишкой внутри 😉
from random import choice
DATA = ('победа', 'поражение', 'ничья',)
CHOICE = {'камень': 'камень', 'ножницы': 'ножницы', 'бумага': 'бумага', 'к': 'камень', 'н': 'ножницы', 'б': 'бумага', 'k': 'камень', 'n': 'ножницы', 'b': 'бумага', 'rock': 'камень', 'scissors': 'ножницы', 'paper': 'бумага', 'r': 'камень', 's': 'ножницы', 'p': 'бумага',}
print(f'Введи полный или короткий вариант из списка: {", ".join(key for key in CHOICE)}')
while (res := input('Что выбрал? ').lower()) in CHOICE:
print(f'Результат игры для выбора "{CHOICE[res]}": <<<{choice(DATA)}>>>')
else:
print('Exit game')
P.S. Про "секретную фишку" ровно через сутки на этом же месте. 🤫