Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 June 01

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
щас он для '___snake__case' выдаёт SnakeCase
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Mark
in_str = "_snake___case___"
out_str = ""
prev_c = ""
for c in in_str:
   c = c if c != "_" else ""
   c = c.upper() if prev_c == "" else c
   prev_c = c
   out_str += c
out_str = out_str[0].lower() + out_str[1:]
print(out_str)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
типа такого не?
источник

🎆И

🎆🎄🎁❄️ ͪ̽͛͂͒͂͋͑ͥ̐̚͟͞͠... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
о Славик
источник

OM

Oleg Makarikhin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Кирилл Картвелишвили
щас он для '___snake__case' выдаёт SnakeCase
"".join([ word.capitalize() if i else word.lower() for i, word in enumerate(filter(str.isalpha, inp.split("_")))])
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Oleg Makarikhin
"".join([ word.capitalize() if i else word.lower() for i, word in enumerate(filter(str.isalpha, inp.split("_")))])
вово
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
а - двойные еще над учесть
ну короче это поидее делается за o(n)
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Oleg Makarikhin
"".join([ word.capitalize() if i else word.lower() for i, word in enumerate(filter(str.isalpha, inp.split("_")))])
ну тут уж хотя бы на две строчки разбить желательно)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
в один проход заменой чисто символов
просто над все условия замены расписать аккуратно
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Oleg Makarikhin
кодварс на меня плохо влияет
"".join([ word.capitalize() if i else word.lower() for i, word in enumerate(inp.split("_"))])
PythonStyle
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
in_str = "_snake___case___"
out_str = ""
prev_c = ""
for c in in_str:
   c = c if c != "_" else ""
   c = c.upper() if prev_c == "" else c
   prev_c = c
   out_str += c
out_str = out_str[0].lower() + out_str[1:]
print(out_str)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
тут имхо лучше не мудрить в таких задачах с регулярками/встроенными функциями работы со строками
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
они под капотом будут делать то же самое все равно, но скорей всего больше раз чем требуется
соответственно сложность растет и читать сложнее
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
ну и если это с собеседования задачка - не на всех языках так клево со строками работается
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
да ну, читать как раз легче, просто не надо сразу 4 действия в одной строке делать, всё по порядку
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
собеседовался кстати на днях на Go девелопера - задачки на питоне решал
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
просто я к тому что не стоит сильно привыкать к библиотечным питоновским функциям работы со строками
они жизнь очень облегчают
но все равно - стоит думать как машина
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
в данном случае - думать как машина не сложнее выглядит чем использование библиотечных функций
так зачем их использовать?
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
когда приспичит - напишешь собственную реализацию. здесь это задачка на курсе по самому питону, а не алгоритмам, значит задачка явно расчитывается на проверку знания стандартной либы
источник