Вместе с факультетом Python-разработки GeekUniversity собрали для вас несколько простых задач по Python для обучения и тренировки. Их можно решать в любом порядке.
Обратите внимание, что у любой задачи по программированию может быть несколько способов решения. Чтобы посмотреть добавленный нами вариант решения, кликните по соответствующей кнопке. Все приведённые варианты написаны на Python 3.
Задача 1
Есть список a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] .
Выведите все элементы, которые меньше 5 .
Самый простой вариант, который первым приходит на ум — использовать цикл for :
Также можно воспользоваться функцией filter , которая фильтрует элементы согласно заданному условию:
И, вероятно, наиболее предпочтительный вариант решения этой задачи — списковое включение:
print([elem for elem in a if elem
Задача 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] .
Нужно вернуть список, который состоит из элементов, общих для этих двух списков.
И снова мы можем воспользоваться циклом for :
Или функцией filter :
Или списковым включением:
result = [elem for elem in a if elem in b]
А можно привести оба списка к множествам и найти их пересечение:
result = list(set(a) & set(b))
Однако в таком случае каждый элемент встретится в результирующем списке лишь один раз, т.к. множество поддерживает уникальность входящих в него элементов. Первые два решения (с фильтрацией) оставят все дубли на своих местах.
Задача 3
Отсортируйте словарь по значению в порядке возрастания и убывания.
Импортируем нужный модуль и объявляем словарь:
Сортируем в порядке возрастания:
И в порядке убывания:
result = dict ( sorted ( d . items ( ) , key = operator . itemgetter (1 ) , reverse = True ) )
Задача 4
Напишите программу для слияния нескольких словарей в один.
Допустим, вот наши словари:
Объединить их можно вот так:
А можно с помощью «звёздочного» синтаксиса:
О звёздочном синтаксисе можно прочитать в нашей статье.
Задача 5
Найдите три ключа с самыми высокими значениями в словаре my_dict = <‘a’:500, ‘b’:5874, ‘c’: 560,’d’:400, ‘e’:5874, ‘f’: 20>.
Можно воспользоваться функцией sorted :
Аналогичный результат можно получить с помощью функции nlargest из модуля heapq :
Задача 6
Напишите код, который переводит целое число в строку, при том что его можно применить в любой системе счисления.
Второй аргумент функции int отвечает за указание основания системы счисления:
Задача 7
Нужно вывести первые n строк треугольника Паскаля. В этом треугольнике на вершине и по бокам стоят единицы, а каждое число внутри равно сумме двух расположенных над ним чисел.
Задача 8
Напишите проверку на то, является ли строка палиндромом. Палиндром — это слово или фраза, которые одинаково читаются слева направо и справа налево.
Тут всё просто, достаточно сравнить строку с её обратной версией, для чего можно использовать встроенную функцию reversed:
Того же эффекта можно добиться с помощью срезов:
Задача 9
Сделайте так, чтобы число секунд отображалось в виде дни:часы:минуты:секунды .
Задача 10
Вы принимаете от пользователя последовательность чисел, разделённых запятой. Составьте список и кортеж с этими числами.
Задача 11
Выведите первый и последний элемент списка.
Задача 12
Напишите программу, которая принимает имя файла и выводит его расширение. Если расширение у файла определить невозможно, выбросите исключение.
Задача 13
При заданном целом числе n посчитайте n + nn + nnn.
Сколько на самом деле существует языков программирования? Их насчитывается несколько десятков. Они разработаны под различные задачи, на любой вкус, размер и цвет. Почему я выбрал именно этот язык? Python способен выполнять очень широкий круг задач, начиная от простого скрипта до создания целых сайтов. Python для начинающих достаточно прост, лаконичен и удобен в изучении.
Из этой статьи вы узнаете:
Привет, привет! На связи Гридин Семён. Наконец — то, я добрался до основной тематики этого блога, программирование интеллектуальных систем с помощью языка Python. Я долго шёл к этому, готовился. И вот, я готов писать вам интересные статьи и изучать глубоко эту тему.
Для чего мне это нужно? Для начала я ставил себе такую задачу о разработке искусственного интеллекта, машинного обучения и компьютерного зрения.
Может если повезёт я попаду в число разработчиков по робототехническим сложным проектам, может стану сам организатором и открою производство персональных роботов, а может, может. Если ничего не получится, да и бог с ним, я получаю удовольствие от процесса, а не от результата.
Тогда начну свою повесть)).
Возможности языка программирования Python
Как я и писал выше, этот язык выполняет очень большую сферу функций. Всё охватить просто невозможно. Поэтому перед тем как заниматься изучением, пожалуйста, задайте себе вопрос, а для чего мне это нужно? Какие задачи я буду решать, применяя этот язык? Если вы ответили положительно, двигаемся дальше.
Чем же может быть полезен Python?
- Работа с xml/html файлами
- Работа с http запросами
- GUI (графический интерфейс)
- Создание веб-сценариев
- Работа с FTP
- Работа с изображениями, аудио и видео файлами
- Робототехника (применение одноплатных компьютеров)
- Программирование математических и научных вычислений
И тому подобное. Python способен выполнять львиную долю рутинных задач.
На Питоне можно собрать и резервное копирование, и работу с электронными письмами, и простейший калькулятор, и скрипт для сайта. Язык ничем не ограничен. Что самое интересное, используется в таких IT-гигантах, как Google и Yandex.
В этой статье мы рассмотрим с вами программирование Python с нуля.
Загрузка и установка Python
Для того чтобы у вас работала программа на определённом устройстве, неважно какая ОС — windows, linux, RaspbianOS, MacOS. Важно, чтобы у вас находился интерпретатор, который будет понимать команды и выполнять.
Делаем следующим образом, скачиваем IDE python c официального источника .
Дальше типичная стандартная установка, я думаю многие знают.
Знакомство с интерпретатором
Итак интерпретатор обрабатывает текстовый код программы. Существует интерактивный режим среды разработки. Можно запустить несколькими способами:
- Из обычной командной строки сmd — введите команду python ;
- C рабочего стола (ярлык);
- С помощью меню Пуск — Python IDLE;
Вам откроется это окошечко:
Кстати оболочку можно использовать и в качестве обычного калькулятора. Я рассматриваю этот софт, как возможность раскрыть полный потенциал одноплатных компьютеров.
Для Arduino тоже есть своя программная оболочка Arduino IDE. Почитайте.
Интерактивный режим я рекомендую использовать для тестирования и отладки фрагментов кода. Лучше всего скачать программу NotePad и писать скрипты там. Так получается нагляднее.
С чего начать обучение python? Давайте попробуем написать первую программу?
Создание первой программы
Программа на языке Python — это обычный текстовый файл с написанным кодом. Расширение этого файла .py. Запустить программу можно, указав соответствующее имя в командной строке. Напишем с вами простейшую стандартную программу «Hello world!».
Задача такая — вывести на экран "Hello world!". Запускаем NotePad.
Tayrus
Однако здравствуйте! Я решил дать вам некоторые задачи, они рассчитаны на начальный уровень. Возможно некоторые задачи вам покажутся "упоротыми", но кто его знает. Возможно я буду дополнять эту тему новыми задачами, если вы этого захотите(кстати напишите надо ли это делать в комментарии). К задачам будет прилагаться мое решение, смотрите его если решили задачу сами или когда совсем не можете решить. Если мое решение не совпадает с вашим это не значит что ваше решение неверное, главное что работает)
Моя версия python 2.7.15
Задача 1: Вывести букву "A" 100 раз. И потом проверить ее длину(ну а мало ли мы ошиблись))) )
Задача 2: Пользователь вводит трех значное число и мы его разделяем на 1 отдельно число
Пример 625 -> 6,2,5 | 589 -> 5,8,9
Задача 3: Удаление дубликатов(одинаковых слов) из файлов
Задача 4: Получить внешний ip адресс
Задача 7: Есть файл, в нем 4 слова через пробел, посчитать кол-во слов.
Well-known member
Valkiria
Tayrus
Задача 8: Есть файл, в нем цифры в строчку 112233445566778899 , вывести двухзначные числа
Пример 112233 -> 11,22,33 и так далее.
Объясните своё решение.
Задача 9: Написать функцию, которая принимает неограниченное кол-во аргументов и выводи их в консоль.
Объясните своё решение.
Задача 10: Создайте словарь, занесите в него любые ключи с любыми значениями, отобразите ключ и значение
Объясните своё решение.
Задача 11: Сделайте функцию, которая принимает одно число и определяет это число четное или нечетное.
Объясните своё решение.
Задача 12: Создайте переменную code со значением 100(создать не в функции!), теперь сделайте функцию которая принимает число и меняет переменную code на число, которое мы передаем в функцию и выводит в консоль(вывод не в функции)
Объясните своё решение.
explorer
На степик есть курсы по питону, весьма занятные. Задачи порой угарные и были довольно непростыми порой для того объёма материала, что был подан.
Коля каждый день ложится спать ровно в полночь и недавно узнал,
что оптимальное время для его сна составляет X минут.
Коля хочет поставить себе будильник так, чтобы он прозвенел ровно через X минут после полуночи
, однако для этого необходимо указать время сигнала в формате часы, минуты.
Помогите Коле определить, на какое время завести будильник.
Часы и минуты в выводе программы должны располагаться на разных строках
Помните, что для считывания данных нужно вызывать функцию input без аргументов!
Sample Input 1:
480
Sample Output 1:
8
0
Sample Input 2:
512
Sample Output 2:
8
32