Даня , видишь ли... пока это файл, в нем нет ни переменных, ни констант, ни их значений. Это просто текст.
Ты импортируешь эти файлы, при этом используются весьма небезопасные инструкции.
Действительно нужно эти файлы именно импортировать? Только чтобы получить из них несколько констант? Может, их распарсить и получить нужные значения относительно безопасно и без извращений?
Книга Лутца про основы. Про то, как устроены типы, функции, литералы, как одно с другим соотносится и взаимодействует, как с этим всем работать.
Освоив хотя бы половину первого тома, поймёшь как устроен язык. Дальше уже можно гуглить.
Так вот, всё это практически одинаково что в 3.3, что в 3.9. В последнем оно слегка дополнено несколькими бантиками и рюшечками, но основы есть основы.
Дружище, если ты не можешь пользоваться поиском в сети инфернет, для начала освой это несложное упражнение.
Серьезно, не прикалываюсь. Написать игру, не владея простыми навыками поиска информации, не удастся.
0xD34F, вот sub ищет паттерн «строка цифр» во входной строке; находит. Заменяет на функцию. Но где и как происходит передача этой функции параметра m, который match-объект? Я чувствую, что оно где-то неявно передаётся, вроде как при применении map. Но как мне понять при написании своего кода, что оно должно туда передаваться?
Ё-маё. Я голову сломал. Бедный препод, интересно, он вообще поймёт, что ему ученик принес на проверку?
Скажите, как Вы научились ТАК мыслить? Потрясен.
Я так что-то и не понял, что это за объект -_sre (я так понял, что это из c-шного содержания модуля re, но что это именно...) и как он попадает внутрь функции replacer.
Вывод:
Учиться, учиться и учиться!
p.s. Я ради интересу накарябал свой вариант решения задачи, но блин... он как паровоз Черепанова рядом с космической ракетой...
Правда, регулярку не использовал.