Найти - Пользователи
Полная версия: работа со строкой
Начало » Python для новичков » работа со строкой
1
hendeman
Добрый день. Хочу вывести в одну строку список слов с заглавными буквами. Не могу понять, почему не хочет выводить нужный результат
 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)
doza_and
hendeman
но не могу понять, почему первый не работает.
Эта запись создает абсолютно новую строку не связанную с тем что было в i
  i.capitalize()
А тут вы даете новой строке имя i. И потом ее совершенно никак не используете.
 i = i.capitalize()
py.user.next
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
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB