🎉 Разбор задачи: как «сыр» развалился на буквы 🎉
Спасибо всем, кто кидал свои версии в комментарии — было много отличных догадок! Давайте разложим всё по полочкам, чтобы эта ловушка больше никого не путала. 👇
🧠 Что делает код по шагам:
- `shopping_list = ["молоко", "хлеб", "яйца"]` — создаём список из трёх строк.
- `shopping_list.append("яблоки")` — добавляем ещё один элемент. Теперь в списке 4 элемента. Всё логично.
- `shopping_list += "сыр"` — вот тут начинается магия (точнее, баг).
- `print(shopping_list)` — выводим результат, и он удивляет.
🤔 В чём подвох:
- Оператор `+=` для списков работает как конкатенация (склеивание) двух последовательностей.
- А строка в Python — это тоже последовательность, только из символов.
- Поэтому `"сыр"` для Python — это `["с", "ы", "р"]`.
- В итоге `+= "сыр"` добавляет в список не одно слово, а три отдельных символа.
✅ Какой результат мы получаем:
['молоко', 'хлеб', 'яйца', 'яблоки', 'с', 'ы', 'р']
🛠 Как сделать правильно (два надёжных способа):
1. Через `append` — если хотим добавить ровно один элемент:
shopping_list.append("сыр")
2. Через конкатенацию со списком — если хотим склеить два списка:
shopping_list += ["сыр"]
💡 Почему это важно знать:
- Это одна из самых частых ошибок у новичков: путать «добавить элемент» и «склеить последовательности».
- Разница между `append` и `+=` экономит часы отладки в реальных проектах.
- Понимание типов данных (список vs строка) помогает сразу видеть такие ловушки в чужом коде.
🚀 Бонус для тех, кто хочет избежать типичных ошибок с самого старта:
Хотите заранее знать, какие ошибки чаще всего совершают новички в Python и как их обойти уже на первой неделе? Забирайте гайд «5 ошибок новичков в Python и как их избежать уже на первой неделе» — там собраны частые кейсы, примеры и простые правила, которые реально экономят время.
👉 Ссылка на гайд:
https://vk.ru/market/product/5-oshibok-novichkov-v-python-i-kak-ikh-izbezhat-uzhe-na-pervoy-nedele-233041006-14621535 #Python #РазборКода #ОшибкиНовичков #ОбучениеПрограммированию #PythonДляНачинающих #ПрактикаКода