задачи для обучения python

Задачи Python

Введение

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

I like Python

Напишите программу, которая выводит на экран текст «I***like***Python» (без кавычек).

Управляемый разделитель

Напишите программу, которая считывает строку-разделитель и три строки, а затем выводит указанные строки через разделитель.

Сумма трёх чисел

Напишите программу, которая считывает три целых числа и выводит на экран их сумму. Каждое число записано в отдельной строке.

Следующее и предыдущее

Напишите программу, которая считывает целое число, после чего на экран выводится следующее и предыдущее целое число с пояснительным текстом.

Разделяй и властвуй

Напишите программу, которая считывает целое положительное число xx и выводит на экран последовательность чисел x, 2x, 3x, 4x, 5x, разделённых тремя черточками.

Расстояние в метрах

Напишите программу, которая находит полное число метров по заданному числу сантиметров.

Сама неотвратимость

Безумный титан Танос собрал все 6 камней бесконечности и намеревается уничтожить половину населения Вселенной по щелчку пальцев. При этом если население Вселенной является нечетным числом, то титан проявит милосердие и округлит количество выживших в большую сторону. Помогите Мстителям подсчитать количество выживших.

Пересчет временного интервала

Напишите программу для пересчёта величины временного интервала, заданного в минутах, в величину, выраженную в часах и минутах.

Трехзначное число

Напишите программу, в которой рассчитывается сумма и произведение цифр положительного трёхзначного числа.

Четырёхзначное число

Напишите программу для нахождения цифр четырёхзначного числа.

Пароль

При регистрации на сайтах требуется вводить пароль дважды. Это сделано для безопасности, поскольку такой подход уменьшает возможность неверного ввода пароля.

Напишите программу, которая сравнивает пароль и его подтверждение. Если они совпадают, то программа выводит: «Пароль принят», иначе: «Пароль не принят».

Четное или нечетное?

Напишите программу, которая определяет, является число четным или нечетным.

Роскомнадзор

Напишите программу, которая определяет, разрешен пользователю доступ к интернет-ресурсу или нет.

Формат входных данных
На вход программе подаётся целое число — возраст пользователя.

Формат выходных данных
Программа должна вывести текст «Доступ разрешен» если возраст не менее 18, и «Доступ запрещен» в противном случае.

Арифметическая прогрессия

Напишите программу, которая определяет, являются ли три заданных числа (в указанном порядке) последовательными членами арифметической прогрессии.

Наименьшее из четырёх чисел

Напишите программу, которая определяет наименьшее из четырёх чисел.

Только +

Напишите программу, которая считывает три числа и подсчитывает сумму только положительных чисел.

Принадлежность 1

Принадлежность 2

Принадлежность 3

Високосный год

Напишите программу, которая определяет, является ли год с данным номером високосным. Если год является високосным, то выведите «YES», иначе выведите «NO». Год является високосным, если его номер кратен 4, но не кратен 100, или если он кратен 400.

Ход ладьи

Даны две различные клетки шахматной доски. Напишите программу, которая определяет, может ли ладья попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести «YES», если из первой клетки ходом ладьи можно попасть во вторую, или «NO» в противном случае.

Ход короля

Даны две различные клетки шахматной доски. Напишите программу, которая определяет, может ли король попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести «YES», если из первой клетки ходом короля можно попасть во вторую, или «NO» в противном случае.

Вид треугольника

Напишите программу, которая принимает три положительных числа и определяет вид треугольника, длины сторон которого равны введенным числам.

Самописный калькулятор

Цветовой микшер

Красный, синий и желтый называются основными цветами, потому что их нельзя получить путем смешения других цветов. При смешивании двух основных цветов получается вторичный цвет:

Напишите программу, которая считывает названия двух основных цветов для смешивания. Если пользователь вводит что-нибудь помимо названий «красный», «синий» или «желтый», то программа должна вывести сообщение об ошибке. В противном случае программа должна вывести название вторичного цвета, который получится в результате.

Источник

Можете накидать большую порцию задачек для практики Python-новичка?

Средний 7 комментариев

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

Я когда также искал наткнулся на один сайт там человек выложил тестовое задание которое он получил на вакансию Junior Python Developer.

Сам сайт я не сохранял сохранил только задание. Выполняя это задание ты охватишь то что учил и освоишь новые технологии.

Собственно вот само задание:

Цель тестового задания
Определить возможную динамику самообучения кандидата. А так же глубину понимания кода, реализующего тестовое задание.

Задание
Написать тестовое web-приложение по управлению электронной библиотекой:

1. Редактирование (доступно авторизованному пользователю при наличии аутентификации):

Управление списком книг: добавить / удалить / редактировать книгу.
Управление списком авторов: добавить / удалить / редактировать автора.
Запись о книге содержит следующие данные: ID, Название.
Запись об авторе содержит следующие данные: ID, Имя.
Свзязь между книгами и авторами — многие ко многим.
2. Поиск книг по названию либо автору (доступно анонимному пользователю при наличии аутентификации).

3. Аутентификации и авторизация (по желанию кандидата).

Технологии, которые должны быть задействованы:

Flask
SQLAlchemy (Declarative)
SQLite (встроенный в приложение)
Jinja2 Templates
WTForms
jQuery (желательно, но возможно использование альтернативных решений)
Список может быть расширен по усмотрению кандидата, но с обязательным использованием технологий, перечисленных выше.

Дополнительные требования
Список дополнительных требований следующий:

1. Код проекта должен быть доступен на сервисе github.org или bitbucket.org.

2. Проект должен содержать SQL-скрипты для развертывания базы данных и наполнения ее тестовыми данными.

3. Пользовательские данные должны валидироваться перед сохранением в БД.

Дополнительные знания
Дополнительные знания, необходимые при защите проекта:

HTTP
WSGI
SQL, Transactions, Transaction Isolation Levels
SQLAlchemy
Уязвимости веб-сайтов
User Experience

Источник

Задачи по Python

Каждому изучающему Python нужно писать код для закрепления. Вашему вниманию предлагаются несколько задач для реализации (не слишком простых (кроме первой) и не слишком сложных).

Для выполнения заданий крайне рекомендуется пройти самоучитель.

Также для этих задач есть репозиторий с тестами и моими решениями (чтобы проверить себя).

Для запуска тестов для вашей функции проще всего будет добавить код из папки с тестами в конец файла с функцией.

А теперь, собственно, задачи:

Простейшие арифметические операции (1)

Високосный год (2)

Написать функцию is_year_leap, принимающую 1 аргумент — год, и возвращающую True, если год високосный, и False иначе.

Квадрат (3)

Написать функцию square, принимающую 1 аргумент — сторону квадрата, и возвращающую 3 значения (с помощью кортежа): периметр квадрата, площадь квадрата и диагональ квадрата.

Времена года (4)

Написать функцию season, принимающую 1 аргумент — номер месяца (от 1 до 12), и возвращающую время года, которому этот месяц принадлежит (зима, весна, лето или осень).

Банковский вклад (5)

Пользователь делает вклад в размере a рублей сроком на years лет под 10% годовых (каждый год размер его вклада увеличивается на 10%. Эти деньги прибавляются к сумме вклада, и на них в следующем году тоже будут проценты).

Написать функцию bank, принимающая аргументы a и years, и возвращающую сумму, которая будет на счету пользователя.

Простые числа (6)

Правильная дата (7)

Написать функцию date, принимающую 3 аргумента — день, месяц и год. Вернуть True, если такая дата есть в нашем календаре, и False иначе.

XOR-шифрование (8)

Написать функцию XOR_cipher, принимающая 2 аргумента: строку, которую нужно зашифровать, и ключ шифрования, которая возвращает строку, зашифрованную путем применения функции XOR (^) над символами строки с ключом. Написать также функцию XOR_uncipher, которая по зашифрованной строке и ключу восстанавливает исходную строку.

Источник

Python списки. Задачи для начинающих

Вместе с партнерами из telegram-канала Python задачки мы собрали для тебя несколько простых задач по Python. В этой статье разберем списки.

Задача 1

Дан список некоторых целых чисел, найдите значение 20 в нем и, если оно присутствует, замените его на 200. Обновите список только при первом вхождении числа 20.

» >Посмотреть решение>

Мы можем использовать метод index(), который позволит получить индекс первого вхождения некоторого объекта (в нашем случае числа 20). Затем просто изменим элемент списка с этим индексом до нужного нам значения (то есть 200).

Задача 2

Необходимо удалить пустые строки из списка строк.

» >Посмотреть решение>

Мы можем использовать функцию filter() для удаления объектов типа None из списка

Задача 3

Дан список чисел. Превратите его в список квадратов этих чисел.

» >Посмотреть решение>

Мы бы могли использовать цикл for, но по отношению к памяти и скорости выполнения оптимальнее будет использовать list comprehension.

Задача 4

Дан список чисел, необходимо удалить все вхождения числа 20 из него.

» >Посмотреть решение>

Здесь, как и в третьей задаче, будем использовать list compehension объединив его с тернарным оператором.

Задача 5

Необходимо вывести список в обратном порядке.

» >Посмотреть решение>

Источник

Подготовка к собеседованию на позицию Python-разработчика

Авторизуйтесь

Подготовка к собеседованию на позицию Python-разработчика

задачи для обучения python. Смотреть фото задачи для обучения python. Смотреть картинку задачи для обучения python. Картинка про задачи для обучения python. Фото задачи для обучения python

На сегодняшний день число Python-программистов продолжает расти, однако количество рабочих мест для них увеличивается не так быстро. Современному разработчику нужно быть конкурентоспособным, чтобы пробиться на желаемую позицию. Мы подготовили статью с темами и вопросами, которые работодатель может затронуть на собеседовании, и дополнили их небольшими объяснениями — по сути, это задачи по программированию на Python с решениями. Материал будет полезен продолжающим для повторения, а начинающим поможет сориентироваться, куда делать первые шаги, на что обратить внимание. Воспринимайте как своеобразный маяк.

Работа со списками

Лямбда-выражения, генераторы списков и выражения-генераторы

Лямбда-выражения — сокращённый метод создания однолинейных анонимных функций. Их простота часто (но не всегда) делает код более стройным и читабельным, чем классическое объявление функций. С другой стороны, та же простота ограничивает возможности и зоны применения лямбда-выражений.

Лямбда-выражения с функциями map() и filter() и генераторы списков схожи, поэтому выбор одного из этих инструментов субъективен и зависит от случая. Но следует отметить, что генераторы списков выполняются несколько быстрее — вызов лямбда-функции создаёт новый стековый кадр.

Выражения-генераторы синтаксически и функционально похожи на генераторы списков, но есть важные различия между их механизмами работы и областями применения. Итерация при наложении выражения-генератора или генератора списка будет делать всё то же самое, но генератор списков сначала создаст целый список в памяти, в то время как выражение-генератор будет создавать элементы на ходу по мере необходимости. Выражения-генераторы могут быть использованы в большом или даже бесконечном количестве последовательностей. А генерирование значений по требованию обеспечивает повышение производительности и снижение использования памяти. Однако следует отметить, что стандартные методы списков list в Python могут применяться на результатах выполнения генератора, но не на самом генераторе.

В чём разница между списком и кортежем?

Основная разница: список может изменяться, а кортеж — нет. Работа с кортежами быстрее, чем со списками. Если необходимо определить постоянный набор значений, и все, что с ним когда-либо надо делать, — это перебирать его элементы, рациональнее использовать кортеж вместо списка. Кортеж также может выступать в качестве ключа для словарей, в отличие от списка.

Самые продвинутые кандидаты скажут, что кортежи неоднородны и их использование аналогично использованию struct в языке программирования С. Списки же аналогичны привычным массивам.

Отладка кода и тестирование

Какой подход вы используете для модульного тестирования в Python?

Фундаментальный ответ на этот вопрос относится к использованию фреймворка Python — unittest.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *