Python Simple
226 subscribers
55 photos
6 videos
175 links
by mr.Gold
Download Telegram
Условный оператор if (часть 4)

оглавление
#ps_base
🔥5👍1
🔥21
Использование флага

оглавление
#ps_base
🔥3👍1
Отступы, правило оформления блоков кода в python

оглавление
#ps_base
👍3
Множественное присваивание (swap переменных)

оглавление
#ps_base
🔥5👍1
🔥5👍1
Цикл for, список, кортеж (list, tuple), функция enumerate()

оглавление
#ps_base
🔥5👍1
Цикл for, множество (set)

оглавление
#ps_base
🔥4👍1
Цикл for, словарь (dict)

оглавление
#ps_base
🔥3👍1
Цикл for, функция range()

оглавление
#ps_base
🔥4👍1
else в циклах for и while

оглавление
#ps_base
🔥5👍1
Уже достаточно знаний, чтобы начать решать простые задачи на leetcode.

Но если вы хотите отправлять свои решения на тестирование на самом leetcode, то стоит дать немного вводной информации.

Во первых, зарегистрируйтесь на leetcode.com.
Во вторых, мы ещё не проходили функции, но пока можно разобраться без этих знаний.
Например возьмем первую задачу https://leetcode.com/problems/two-sum/
Слева описание задания с парой примеров, а справа поле, где мы будем писать свое решение.
В нашем случае надо выбрать язык программирования python3 или другой, если будете решать на чем-то другом.

#ps_leetcode
Теперь можно разобрать первую задачу:
1. Two Sum (легкая)
leetcode.com/problems/two-sum

Вы получаете список целых чисел nums и число target.
Надо вернуть список из 2-х индексов чисел из списка, которые в сумме дают target.
Такая комбинация встречается 1 раз.
Вернуть числа можно в любом порядке

Пример 1:Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].

Пример 2:
Input: nums = [3,2,4], target = 6
Output: [1,2]

Пример 3:
Input: nums = [3,3], target = 6
Output: [0,1]

Ваша задача решить эту задачу на литкоде и успешно засабмитить

*разбор будет в комментариях в нескольких сообщениях, чтобы вы могли подумать над решением

Список всех задач
#ps_leetcode
🔥4
Второй типичный вопрос.
Какие вы знаете изменяемые и неизменяемые типы данных?
Можно ответить просто:
Изменяемые - list, dict, set
Неизменяемые - int, str, float, frozenset, bool, tuple

все вопросы
#ps_question
🔥2
3-ий вопрос:
Что может быть ключом в словаре?
Ответить можно, что ключом может быть неизменяемый тип.

Почему?
Дело в том, что если у нас будет 2 ключа - списки, тогда теоретически мы сможем их изменить до одинакового состояния и у нас в словаре получится 2 одинаковых ключа, таким образом когда мы попытаемся по ключу достать значение, словарь не будет знать, что нам вернуть.

Может ли кортеж или другой контейнерный тип быть ключом в словаре?
Ответ тут будет и да и нет.

Если у нас будет кортеж, в котором будут только неизменяемые переменные, например:
(1, "my_str", (1, 2)) - то, все ок, он может быть ключом.
Но если у нас будет кортеж, в котором будет хоть один изменяемый тип, то он уже не сможет быть ключом в словаре, например:
(1, "my_str", [1, 2]) - содержит список, и не может быть ключом.

Чтобы очевидно проверить, может ли какая-то переменная быть ключом в словаре, надо попробовать взять у неё hash, если можно будет, то ок, если нельзя, то значит нельзя.
Поэтому можно ответить, что ключом в словаре может быть все, у чего можно взять хэш.

все вопросы
#ps_question
🔥5👍1