Как сделать первую букву имени заглавной?
Мне нужно сделать первую букву имени заглавной. Я пытаюсь сделать это через присвоения значения, на что получаю исключения вида: TypeError.
На языке C# такая операция допустима, а здесь получается нельзя присвоить значение одному элементу типа str?
Напишите, пожалуйста, как минимум два возможных способа капитализации первой буквы.
Ответы (4 шт):
Нужно брать всю строку
name = name.capitalize()
Второй способ
name = name[0].upper()+name[1:]
На языке C# такая операция допустима
Вы ошибаетесь. И в Python и в C# строки одинаково иммутабельны (и не только в этих языках), вы не можете изменить один символ прямо внутри строки, как вы пытаетесь сделать присвоением name[0] = ..., вам обязательно придётся создавать новую строку, изменённую нужным образом, и присваивать эту строку целиком в переменную name = ...
Чтобы написать строку с заглавной буквы вы можете использовать:
my_string = "nikita"
print(my_string.title())
В python есть для этого специальный метод:
name = name.capitalize()
- Метод upper() делает все буквы строки прописными
- Также строки - неизменяемый тип данных. Нельзя изменять её часть по индексу.
name[0] = ...
-> ошибка
