Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 1, 2021 22:28:56

hendeman
Зарегистрирован: 2021-11-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

работа со строкой

Добрый день. Хочу вывести в одну строку список слов с заглавными буквами. Не могу понять, почему не хочет выводить нужный результат

 word = "milk,bread,butter"
food = word.split(",")
for i in food:
    i = i.capitalize()
print(food)
Если print(i) вставить в цикл, то слова отображаются с заглавными буквами, но вывод в три строки получается
По интуиции нашел два способа вывода нужного результата, но не могу понять, почему первый не работает.
Первый:
 mas = []
word = "milk,bread,butter"
food = word.split(",")
for i in food:
    i = i.capitalize()
    mas.append(i)
print(mas)
Второй:
 word = "milk,bread,butter"
food = word.split(",")
for i in range(len(food)):
    food[i] = food[i].capitalize()
print(food)

Офлайн

#2 Ноя. 2, 2021 09:02:09

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

работа со строкой

hendeman
но не могу понять, почему первый не работает.
Эта запись создает абсолютно новую строку не связанную с тем что было в i
  i.capitalize()
А тут вы даете новой строке имя i. И потом ее совершенно никак не используете.
 i = i.capitalize()



Офлайн

#3 Ноя. 2, 2021 22:50:41

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

работа со строкой

hendeman
но не могу понять, почему первый не работает
Так
  
>>> word = "milk,bread,butter"
>>> 
>>> food = []
>>> 
>>> for i in word.split(','):
...     food.append(i.capitalize())
... 
>>> print(*food)
Milk Bread Butter
>>>

Или так
  
>>> word = "milk,bread,butter"
>>> 
>>> food = word.split(",")
>>> 
>>> for i in range(len(food)):
...     food[i] = food[i].capitalize()
... 
>>> print(*food)
Milk Bread Butter
>>>



Отредактировано py.user.next (Ноя. 2, 2021 22:53:20)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version