def convert_name(string):
    j = 0
    words = []
    for i, c in enumerate(string):
        if i != 0 and c.isupper():
            words.append(string[j:i])
            j = i
    words.append(string[j:])
    return '_'.join([s.lower() for s in words])

if __name__ == '__main__':
    print(convert_name(input()))

@@ -1,8 +1,19 @@
+import re%0A%0A
 def conv
@@ -38,230 +38,65 @@
     
-j = 0%0A    words = %5B%5D%0A    for i, c in enumerate(string):%0A        if i != 0 and c.isupper():%0A            words.append(string%5Bj:i%5D)%0A            j = i%0A    words.append(string%5Bj:%5D)%0A    return '_'.join(%5Bs.lower() for s in words%5D
+return re.sub(r'(%5Ba-z%5D)(%5BA-Z%5D)', r'%5C1_%5C2', string).lower(
 )%0A%0Ai

Update name_convert.py.