-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path04-building-a-case-converter.py
More file actions
34 lines (25 loc) · 1010 Bytes
/
Copy path04-building-a-case-converter.py
File metadata and controls
34 lines (25 loc) · 1010 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"""
This is a simple case converter that converts PascalCase or camelCase strings to snake_case.
It uses a list comprehension to iterate through each character in the input string.
"""
def convert_to_snake_case(pascal_or_camel_cased_string):
# snake_cased_char_list = []
# for char in pascal_or_camel_cased_string:
# if char.isupper():
# converted_character = '_' + char.lower()
# snake_cased_char_list.append(converted_character)
# else:
# snake_cased_char_list.append(char)
# snake_cased_string = ''.join(snake_cased_char_list)
# clean_snake_cased_string = snake_cased_string.strip('_')
# return clean_snake_cased_string
snake_cased_char_list = [
'_' + char.lower() if char.isupper()
else char
for char in pascal_or_camel_cased_string
]
return ''.join(snake_cased_char_list).strip('_')
def main():
print(convert_to_snake_case('IAmAPascalCasedString'))
if __name__=='__main__':
main()