3 задачи с подвохом на Python с решением и комментариями

Иногда очевидные вещи не настолько очевидные, как могут показаться на первый взгляд.
И если результат работы кода из нескольких тысяч строк оценить беглым взглядом сложно, то когда перед глазами 3-5 строчек, кажется, что точно знаешь ответ и подвоху спрятаться негде.
3 задачи с подвохом на Python с решением и комментариями - 923637511426
Изображение Alicja с сайта Pixabay
Но не всегда стоит быть в этом уверенным. Поскольку мозг человека не всегда следует алгоритмам, по которым действует программа, часто упрощая, или наоборот, усложняя процесс реализации.

Вот первый пример:

3 задачи с подвохом на Python с решением и комментариями - 923637511682
Изображение автора

Как считаете, что выведет print()?


Варианты ответов:

* 10
* 6
* Error
Правильный ответ: 6
Дело в том, что метод append добавит только один элемент, который будет состоять из копии первоначального списка.
То есть список будет выглядеть следующим образом: [1, 2, 3, 4, 5, [1, 2, 3, 4, 5]].
Количество его элементов, соответственно, 6.

Второй пример:

3 задачи с подвохом на Python с решением и комментариями - 923637511938
Изображение автора

Как считаете, что выведет print()?


Варианты ответов:

* [0, 1, 2, 3, 4]
* [1, 3]
* []
Правильный ответ: [1, 3]
Дело в том, что после того, как цикл обратился к элементу с индексом 0, который равен 0 и удалил его из списка при помощи метода remove(), цикл "берет" элемент с индексом 1, а это после удаления первого элемента уже 2.
Так же "выходит из-под удара" и тройка.

Третий пример:

3 задачи с подвохом на Python с решением и комментариями - 923637512450
Изображение автора

Как считаете, что выведет print()?


Варианты ответов:

* 4
* 6
* Error
Правильный ответ: Error
Тут все довольно просто. Дело в том, что применение "+" к типу set не корректно.
Для правильного осуществления данной операции нужно применять метод union().
И тогда все будет работать, а print() выведет 4:
3 задачи с подвохом на Python с решением и комментариями - 923637512962
Изображение автора
(Изображение для мобильной версии Olaf с сайта Pixabay)

Комментарии

Комментариев нет.