- Easy: легкие задачи по программированию
- Новое
- Задачи по Python для начинающих от Tproger и GeekBrains
- Задача 1
- Задача 2
- 10 легких задач по Python и SQL, которые оказались сложными :/
- Задача 1. Метод extend в Python
- Задача 2. Кортеж с одним элементом
- Задача 3. Фигурные скобки в f-строках
- Задача 4. DELETE + CTE в SQL
- Задача 5. Хитрый оператор AND в Python
- Задача 6. Shrug face и escape-последовательности в Python
- Задача 7. Удаление таблицы SQL
- Задача 8. Добавление элементов в set
- Задача 9. Комбинирование условий сравнения в Python
- Задача 10. Импорт библиотек по PEP8
- Почти эпилог
- Эпилог
Easy: легкие задачи по программированию
Тут собраны задачки для новичков, эти задачи немного сложнее предыдущего уровня сложности, но все равно они достаточно простые даже для новичков. Эти задачки постарайтесь решить самостоятельно, раньше времени не подсматривайте в готовый исходный код.
В таблице ниже представлен список задач, которые являются типовыми задачами в программировании. Список задач со временем будет пополняться все новыми и новыми задачами. Как и раньше, в таблице есть столбец — «Статус», если в статусе стоит зеленая галочка, значит на нашем сайте есть уже решение к данной задаче. Вы можете попытаться написать программу, не подглядывая в исходный код, который выложен на нашем сайте. Возможно ваше решение задачи будет изящнее, и в качестве примера альтернативного решения, по вашему согласию, мы опубликуем это решение на сайте.
Если же ячейка статуса — пустая, то готового, рабочего исходного кода к этой задаче у нас на сайте пока нет. Вы можете первыми решить эту задачу и отправить решение нам, а мы выложим ваш исходный код на сайте, от вашего имени. Если вы решите задачу каким-то другим способом, отправьте решение нам. Мы опубликуем его на сайте, в качестве альтернативного решения.
№ | Задача | Автор решения | Статус |
---|---|---|---|
1 | Алгебраическая сумма | admin | |
2 | Алгебраическая сумма 1^k + 2^k + 3^k + . + N^k | admin | |
3 | Большая и меньшая цифры числа | Гарбуз Виталий | |
4 | Брошенное тело под углом | Afro | |
5 | Возведение числа в степень | Platin | |
6 | Выбор дня недели оператором switch | NaikoN | |
7 | Вычислить длину вектора с координатами x, y, z | Afro | |
8 | Вычислить значения функции, не используя pow | admin | |
9 | Вычислить сумму квадратов тех чисел, модуль которых превышает значение 2.5 | admin | |
10 | Значение выражения (1-tg x)^(ctg x)+ cos(x-y) | admin | |
11 | Конгруэнтный метод формирования псевдослучайных чисел | admin | |
12 | Номер четверти плоскости с координатами | Gavay08 | |
13 | Одинаковые цифры введенного числа | Гарбуз Виталий | |
14 | Определить количество новых строк в тексте | admin | |
15 | Определить, пройдет ли кирпич в отверстие | admin | |
16 | Печать ромба символами ASCII | Naikon | |
17 | Поиск k-й цифры в строке | admin | |
18 | Преобразование десятичного числа в шестнадцатеричное | admin | |
19 | Программа палиндром в С++ | Gavay08 | |
20 | Программа табулирования функции котангенса | admin | |
21 | Программа-тест, оператор switch | admin | |
22 | След матрицы | admin | |
23 | Среднее арифметическое | admin | |
24 | Сумма 1/sin(1) + 1/(sin(1) + sin(2)) + . + 1/(sin(1)+sin(2)+. +sin(n)) | admin | |
25 | Сумма чисел нацело делящихся на 5 | admin | |
26 | Таблица квадратов чисел на С++ | Гарбуз Виталий | |
27 | Таблица умножения введенного числа | Гарбуз Виталий | |
28 | Точки пересечений линий | Евгений Привалов | |
29 | Целое число | admin | |
30 | Циклический ввод цифр | admin | |
31 | Циклическое вычисление суммы чисел | Евгений привалов | |
32 | Шесть равнобедренных треугольников | NaikoN |
Новое
© 2023 CppStudio — Программирование для начинающих на С++
Задачи по Python для начинающих от Tproger и GeekBrains
Вместе с факультетом Python-разработки GeekUniversity собрали для вас несколько простых задач по Python для обучения и тренировки. Их можно решать в любом порядке.
Обратите внимание, что у любой задачи по программированию может быть несколько способов решения. Чтобы посмотреть добавленный нами вариант решения, кликните по соответствующей кнопке. Все приведённые варианты написаны на Python 3.
Задача 1
Есть список a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] .
Выведите все элементы, которые меньше 5 .
Самый простой вариант, который первым приходит на ум — использовать цикл for :
Также можно воспользоваться функцией filter , которая фильтрует элементы согласно заданному условию:
print(list(filter(lambda elem: elem < 5, a)))
И, вероятно, наиболее предпочтительный вариант решения этой задачи — списковое включение:
print([elem for elem in a if elem < 5])
Задача 2
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] ;
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] .
Нужно вернуть список, который состоит из элементов, общих для этих двух списков.
Можем воспользоваться функцией filter :
result = list(filter(lambda elem: elem in b, a))
result = [elem for elem in a if elem in b]
А можно привести оба списка к множествам и найти их пересечение:
Однако в таком случае каждый элемент встретится в результирующем списке лишь один раз, т.к. множество поддерживает уникальность входящих в него элементов. Первые два решения (с фильтрацией) оставят все дубли на своих местах.
10 легких задач по Python и SQL, которые оказались сложными :/
Сейчас IT - очень востребованная сфера: спрос на специалистов огромный, в индустрию ежедневно «входят» новые джуны. А это значит, что и конкуренция за место под солнцем среди начинающих программистов/аналитиков накаливается с каждым днем.
Что же делать в такой ситуации? Правильно - использовать любую возможность, чтобы немного подкачаться. Так как информации масса и в голове возникает мешанина, хороший способ - порешать несложные задачки и поразбирать вопросы. Это удобно - пока едешь в метро, можно решить пару-тройку задачек и немного привести в порядок свои знания.
Мы уже больше года выкладываем в своих соцсетях (ВКонтакте, Телеграм, Инстаграм) задачи разной сложности по программированию и смежным темам: Python, SQL, Data Science, Git, аналитике и другим темам. Для этого у нас даже есть специальная рубрика - GROK IT. Узнать ее можно по нашей фирменной утке 🙂
Так вот, за все это время мы неоднократно сталкивались с такими мыслями, когда планировали очередную задачу: «Ну нет, это слишком легко, люди от нас просто отпишутся за такие плевые задачи». Однако, все оказалось иначе.
Мы собрали для Вас 10 интересных мини-задачек по Python и SQL, которые кажутся очень простыми, но подавляющее большинство опрошенных дали неправильные ответы. Вот такая вот статистика ¯\_(ツ)_/¯
Пару слов о нас 🙂 Мы команда IT Resume и мы пилим крутую платформу для подготовки к техническим собеседованиям и развитию своих навыков. Скоро будет первый релиз, так что ждем вас в гости 😉
А пока подписывайтесь на наши соцсети, туда мы постим интересный и полезный контент по программированию, Data Science и аналитике.
На любой вкус: ВКонтакте - Телеграм - Инстаграм
Итак, давайте наконец перейдем к задачам. Погнали 🙂
Задача 1. Метод extend в Python
Формулировка:
# Дан список l. Что выведет код? l = [1, 2, 3] l.extend('abc') print(l)
Варианты ответов:
[1, 2, 3, 'abc'] [1, 2, 3] Error [1, 2, 3, 'a', 'b', 'c']
Правильных голосов: 36%, неправильных - 64%.
Мы были очень удивлены - казалось бы, extend - стандартный списковый метод в Python. Ан нет - у подавляющего большинства он вызвал затруднение.
Подробный разбор задачи → здесь.
Кстати, еще больше задач мы публикуем в наших закрытых чатах ВКонтакте и Телеграме. Будем рады видеть вас там и решать задачки вместе! 🙂
Задача 2. Кортеж с одним элементом
Формулировка:
# Что выведет код? for i in (3): print(i)
Варианты ответов:
Правильных голосов: 33%, неправильных - 67%.
В целом, мы предполагали, что многие попадутся в эту ловушку. Но в итоге на нее попались даже больше людей, чем мы думали - сотни человек!
Подробный разбор задачи → здесь.
Задача 3. Фигурные скобки в f-строках
Формулировка:
# Что выведет код? print(f'Curly brackets: <>')
Варианты ответов:
Curly brackets: <> Curly brackets: Ошибку Ни один из вариантов
Правильных ответов - 22%, неправильных - 78%.
Здесь мы тоже думали, честно говоря, что ответ прям очевиден: f-строки это же ведь совсем базовый Python. Но мы снова были не правы.
Подробный разбор задачи → здесь.
Задача 4. DELETE + CTE в SQL
Формулировка:
-- Дана таблица Demo. -- Как изменится таблица после выполнения запроса в PostgreSQL? WITH temp_tab AS ( DELETE FROM Demo ) INSERT INTO Demo SELECT * FROM temp_tab
Варианты ответов:
Никак, т.к. INSERT вставит удаленные строки Никак, т.к. запрос не выполнится Станет пустой, т.к. DELETE ничего не возвращает и вставлять нечего Никак, т.е. INSERT нельзя использовать с CTE
Правильных ответов: 28%, неправильных - 72%.
В отличие от предыдущих задач, тут мы предполагали, что людей ожидает некая засада 🙂 Все-таки не все знают про CTE, RETURNING и так далее. Собственно, так и получилось. Но зато многие теперь познакомились с новой конструкцией SQL.
Никак, т.к. запрос не выполнится.
Подробный разбор задачи → здесь.
Кстати, вот здесь мы подробно объясняем, как и зачем использовать Common Table Expressions. В том числе и про DELETE.
Задача 5. Хитрый оператор AND в Python
Формулировка:
# Что выведет код? print(50 and 100)
Варианты ответов:
50 100 50 100 Ни один из этих вариантов
Правильных ответов - 13%, неправильных - 87%.
Статистика говорит сама за себя. Это тот случай, когда вдруг забываешь, в какой руке держать вилку. Вроде все очевидно - 2 числа и оператор AND. А что получится в итоге - не понимаешь. И никто почти не понимает.
Подробный разбор задачи → здесь.
Задача 6. Shrug face и escape-последовательности в Python
Формулировка:
Варианты ответов:
'¯\\_(ツ)_//¯' '¯\_(ツ)_//¯' '¯\\_(ツ)_/¯' Ничего из перечисленного
Правильных ответов - 28%, неправильных - 72%.
Конечно, эту задачку мы разместили смеха ради, потому что все любят каомодзи 🙂 Но на самом деле такая ситуация встретилась у нас при разработке платформы - мы хотели передавать shrug face в качестве строки и наткнулись на интересные эффекты экранирования. Так что вполне себе бизнесовая задачка!
Подробный разбор задачи → здесь.
Задача 7. Удаление таблицы SQL
Формулировка:
Какой запрос отработает без ошибок в PostgreSQL?
Варианты ответов:
DELETE * FROM Demo; DELETE FROM Demo; TRUNCATE TABLE Demo; TRUNCATE * FROM Demo;
Правильных ответов - 28%, неправильных - 72%.
Это еще один вопрос из серии «Какой рукой я держу вилку?». Из-за того, что некоторые операции делаешь на автомате, не зацикливаешься - а как же правильно, и такие задачи могут ввести в ступор. Да и чего уж там - многие в целом не знают, как удалять таблицу и в чем разница между DELETE и TRUNCATE.
DELETE FROM Demo. Неочевидно, но проверьте 🙂
Подробный разбор задачи → здесь.
Задача 8. Добавление элементов в set
Формулировка:
# Что выведет код? set1 = set2 = set1.add(4) print(set2)
Варианты ответов:
Правильных ответов: 16%, неправильных - 84%.
Стандартные методы списков, множеств, словарей и т.д. в Python устроены, пожалуй, не до конца очевидно. В том плане, что какие-то методы возвращают значения, какие-то не возвращают ничего. Каждый раз в этом путаешься и метод add - яркий пример.
Подробный разбор задачи → здесь.
Задача 9. Комбинирование условий сравнения в Python
Формулировка:
# Что выведет код? print(11 > 0 is True)
Варианты ответов:
Правильных ответов - 10%, неправильных - 90%.
Ну это задача совсем неочевидная. Python хоть и проповедует прозрачность, но эта конструкция прям совсем не прозрачная, как нам кажется (:
Подробный разбор задачи → здесь.
Задача 10. Импорт библиотек по PEP8
Формулировка:
# Сколько правил PEP8 нарушено при таком импорте библиотек? import face_recognition import sys, os import mymodule # пользовательский скрипт from subprocess import Popen, PIPE
Варианты ответов:
Правильных ответов - 25%, неправильных - 75%.
Одно дело писать код, а другое - писать код правильно. И делают это далеко не все, хотя по факту это очень важно: через год читать грязный код просто невозможно - порой проще его просто переписать. PEP8 в Python, пожалуй, базовое руководство по этому поводу. Но оказывается, почти никто его не знает 🙂
Подробный разбор задачи → здесь.
К слову, по этому поводу мы весной делали целый Style Guide кода на Python - очень рекомендуем посмотреть 🙂
Почти эпилог
Согласитесь, все эти 10 задачек кажутся очень легкими на первый взгляд. Но когда начинаешь разбираться чуть глубже, понимаешь, что зачастую твои знания не так уж и крепки 🙂 Даже матерый профи может оплошать на некоторых заданиях - не потому что с ним что-то не так, а потому что некоторые вещи настолько уже доведены до автоматизма, что даже не зацикливаешься на мелочах.
Кстати, в чатах ВКонтакте и Телеграме мы стараемся подробно отвечать на все решения, которые вы присылаете, так что с радостью ждем вас! 🙂 И впереди у нас еще много задачек по программированию, Data Science и аналитике.
Эпилог
А в качестве заключения, вот вам еще одна задачка по Python. Посмотрим, сможете ли Вы ее решить 😉
Формулировка:
Дан Pandas-датафрейм df, заполненный числами: +----------+----------+----------+ | col1 | col2 | col3 | +----------+----------+----------+
Напишите код, чтобы найти максимальное абсолютное значение корреляции каждого столбца с другими столбцами. Результат должен был представлен в виде списка.
Присылайте свои решения в чаты - там и узнаете правильный ответ! Будем ждать 😉
P.S. Если для кого-то эти задачки показались слишком легкими или «нежизненными», то мы на это и не претендуем 🙂 Наши задачки помогают людям немного прокачивать свое знание тонкостей языка в игровой форме и обращать внимание на мелочи, которые в повседневной суровой жизни выпадают из виду. Выкатывать целые комбайны в продакшен мы не учим, но le bon Dieu est dans le détail, как говорится 😉