Изменить регистр конкретной буквы текста в Python
Пытаюсь изменить регистр определенных букв в строке. Как это можно написать с помощью функции?
Пример: 'macdonald', пытаюсь изменить на 'MacDonald'.
Ответы (2 шт):
Автор решения: Sergey Gornostaev
→ Ссылка
def change_case(s, positions=tuple()):
return ''.join(c.upper() if n in positions else c for n, c in enumerate(s))
r = change_case('macdonald', (0, 3))
print(r)
Автор решения: insolor
→ Ссылка
Как вариант, через промежуточное представление в виде списка:
text = 'macdonald'
characters = list(text)
characters[0] = characters[0].upper()
characters[3] = characters[3].upper()
new_text = ''.join(characters)
print(new_text)
Вывод:
MacDonald