Помогите пожалуйста разобраться :
Написал код для перевода имени переменной из верблюжьего в змеиный регистр с использованием строковых методов:
text = ‘AsfgTfgJ123’
s = text{0}.lower()
for i in range(1, len(text)):
if text{i}.islower() or text{i}.isdigit():
s += text{i}
else:
s = s + ‘_’ + text{i}.lower()
print(s)
И такой же списочных:
def convert_to_python_case(text):
sp = {c for c in text}
for i in range(1, len(sp)):
if sp{i}== sp{i}upper():
sp.insert(i, ‘_’)
sp{i+1} = sp{i+1}.lower()
st = ''.join(sp)
return st.lower()
txt = input()
print(convert_to_python_case(txt))
Почему в первом случае необходимо было учесть наличие цифр, а во втором код работает без этого учета?
Спасибо.
P.S. Тут в некоторых местах почему-то не пропечатались все выражения в квадратных скобках ((…:
Поэтому я заменил их на фигурные. Это не ошибка.