Alex.Pro.
gg = {1:"rock", 2:"paper", 3:"scissors"}
И вот мы, например, добавили четвёртое значение во множество значений - какой-нибудь янтарь или велосипед - что происходит с кодом?
Вот как раз все слабые места в коде поплывут.
Вот эта головоломка
Alex.Pro.
elif (x-y) == 1 or (x-y) == -2:
сломается и начнёт неправильно работать, при этом по ней никак не скажешь, что она сломана, потому что чтобы её понять, её надо сначала всю разгадать в уме, прочитать её недостаточно.
Головоломки - это такие места, где легко прячутся ошибки. Вот она спряталась - и всё, ты её не видишь. Соответственно, если код состоит из головоломок, то и ошибок в нём миллион, и их не видно.