Как сделать первую букву имени заглавной?

Мне нужно сделать первую букву имени заглавной. Я пытаюсь сделать это через присвоения значения, на что получаю исключения вида: TypeError.

На языке C# такая операция допустима, а здесь получается нельзя присвоить значение одному элементу типа str?

Напишите, пожалуйста, как минимум два возможных способа капитализации первой буквы.

введите сюда описание изображения


Ответы (4 шт):

Автор решения: Ян Морозов

Нужно брать всю строку

name = name.capitalize()

Второй способ

name = name[0].upper()+name[1:]
→ Ссылка
Автор решения: CrazyElf

На языке C# такая операция допустима

Вы ошибаетесь. И в Python и в C# строки одинаково иммутабельны (и не только в этих языках), вы не можете изменить один символ прямо внутри строки, как вы пытаетесь сделать присвоением name[0] = ..., вам обязательно придётся создавать новую строку, изменённую нужным образом, и присваивать эту строку целиком в переменную name = ...

→ Ссылка
Автор решения: Ростислав Халилов

Чтобы написать строку с заглавной буквы вы можете использовать:

my_string = "nikita"
    
print(my_string.title())
→ Ссылка
Автор решения: Краева Екатерина

В python есть для этого специальный метод:

name = name.capitalize()
  1. Метод upper() делает все буквы строки прописными
  2. Также строки - неизменяемый тип данных. Нельзя изменять её часть по индексу.
name[0] = ...

-> ошибка

→ Ссылка