Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Владимир написал свой открытый проект, именуя переменные в стиле «ВерблюжийРегистр».
- # И только после того, как написал о нём статью, он узнал, что в питоне для имён переменных принято
- # использовать подчёркивания для разделения слов (under_score). Нужно срочно всё исправить,
- # пока его не «закидали тапками».
- # Задача могла бы оказаться достаточно сложной, но, к счастью,
- # Владимир совсем не использовал строковых констант и классов.
- # Поэтому любая последовательность букв и цифр, внутри которой есть заглавные,
- # — это имя переменной, которое нужно поправить.
- import re
- code = ''' MyVar17 = OtherVar + YetAnother2Var
- TheAnswerToLifeTheUniverseAndEverything = 42'''
- def to_snake_no_re(code:str) -> str:
- return ''.join(['_' + char.lower() if char.isupper() else char for char in code]).lstrip('_')
- result1 = ''
- for keyword in code.split(' '):
- result1 += to_snake_no_re(keyword) + ' '
- def to_snake_re(code:str) -> str:
- return re.sub("(.)([A-Z])", r'\1_\2', code).lower()
- result2 = ''
- for keyword in code.split(' '):
- result2 += to_snake_re(keyword) + ' '
- print(result1, '\n')
- print(result2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement