Программы на питоне примеры сложные

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

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

Задачи расположены в порядке увеличения их сложности.

В конце статьи я приведу свои решения, так что можно будет свериться.

Подборка задач

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

Написать функцию arithmetic , принимающую 3 аргумента: первые 2 — числа, третий — операция, которая должна быть произведена над ними. Если третий аргумент + , сложить их; если — , то вычесть; * — умножить; / — разделить (первое на второе). В остальных случаях вернуть строку «Неизвестная операция «.

Выполняем тестовое задание на Junior Python разработчика с зарплатой 70000р | PDF в MP3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник: dzen.ru

Функции Python — Упражнения, Практика, Решение

5. Напишите функцию Python для вычисления факториала числа (неотрицательное целое число). Функция принимает число в качестве аргумента. Перейти к редактору
Нажмите меня, чтобы увидеть образец решения

Какие вещи реально пишут на Python?

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

7. Напишите функцию Python, которая принимает строку и рассчитывает количество букв верхнего и нижнего регистра. Перейти к редактору
Пример строки : «Быстрая Лиса Бровей»
Ожидаемый результат :
Количество символов в верхнем регистре: 3
Количество строчных букв: 12
Нажмите меня, чтобы увидеть образец решения

8. Напишите функцию Python, которая берет список и возвращает новый список с уникальными элементами первого списка. Перейти к редактору
Список образцов: [1,2,3,3,3,3,4,5]
Уникальный список: [1, 2, 3, 4, 5]
Нажмите меня, чтобы увидеть образец решения

9. Напишите функцию Python, которая принимает число в качестве параметра и проверяет, является ли число простым или нет. Перейти к редактору
Примечание. Простое число (или простое число) — это натуральное число, большее 1, которое не имеет положительных делителей, кроме 1 и самого себя.
Нажмите меня, чтобы увидеть образец решения

10. Напишите программу на Python для печати четных чисел из заданного списка. Перейти к редактору
Список образцов : [1, 2, 3, 4, 5, 6, 7, 8, 9]
Ожидаемый результат : [2, 4, 6, 8]
Нажмите меня, чтобы увидеть образец решения

Читайте также:
Плохо работает компьютер программа

11. Напишите функцию Python, чтобы проверить, является ли число совершенным или нет. Перейти к редактору
Согласно Википедии: в теории чисел совершенное число — это положительное целое число, равное сумме его собственных положительных делителей, то есть сумме его положительных делителей, исключая само число (также известное как его аликвотная сумма). Эквивалентно, идеальное число — это число, которое составляет половину суммы всех его положительных делителей (включая себя).
Пример : первое совершенное число равно 6, потому что 1, 2 и 3 являются его собственными положительными делителями, а 1 + 2 + 3 = 6. Эквивалентно, число 6 равно половине суммы всех его положительных делителей: (1 + 2 + 3 + 6) / 2 = 6. Следующее совершенное число — 28 = 1 + 2 + 4 + 7 + 14. За ним следуют совершенные числа 496 и 8128.
Нажмите меня, чтобы увидеть образец решения

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

13. Напишите функцию Python, которая печатает первые n строк треугольника Паскаля. Перейти к редактору
Примечание. Треугольник Паскаля — это арифметическая и геометрическая фигура, впервые представленная Блезом Паскалем.

Образец треугольника Паскаля:

«Паскаля

14. Напишите функцию Python, чтобы проверить, является ли строка панграммой или нет. Перейти к редактору
Примечание. Панограммы — это слова или предложения, содержащие каждую букву алфавита хотя бы один раз.
Например: «Быстрая коричневая лиса перепрыгивает через ленивую собаку»
Нажмите меня, чтобы увидеть образец решения

15. Напишите программу на языке Python, которая принимает в качестве входных данных последовательность слов, разделенных дефисами, и печатает слова в последовательности, разделенной дефисами, после сортировки по алфавиту. Перейти к редактору
Образцы элементов : зеленый-красный-желтый-черный-белый
Ожидаемый результат : черный-зеленый-красный-бело-желтый
Нажмите меня, чтобы увидеть образец решения

16. Напишите функцию Python, чтобы создать и распечатать список, значения которого представляют собой квадрат чисел от 1 до 30 (оба включены). Перейти к редактору
Нажмите меня, чтобы увидеть образец решения

17. Напишите программу на Python, чтобы создать в Python цепочку декораторов функций (полужирный, курсив, подчеркивание и т. Д.). Перейти к редактору
Нажмите меня, чтобы увидеть образец решения

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

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

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

Редактор кода Python:

Еще не все !

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

Источник: www.kodesource.top

Уроки на Python (часть 2, для начинающих, «Ветвление»)
учебно-методический материал по информатике и икт (6, 7, 8 класс)

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

Как организовать ветвление на Python?

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

Полное и неполное ветвление

Пример 1: Рассмотрим запись ветвления на примере нахождения максимального значения из 2-х чисел.

m = a if a > b else b

Вариант 1 и 2 используют полную форму ветвления, а можно обойтись неполной формой.

Кроме всего в Python есть функция max (и min) и можно обойтись вовсе без ветвления:

Аналогично можно найти max (min) из 3, 4-х и т.д чисел.

Часто при выполнении какого-то условия нужно выполнить сразу несколько действий.

Пример 1: Обмен значений двух переменных (ячеек памяти):

Пример 2 : Определение максимума и минимума

Заметим , что в Python, в отличие от многих других языков программирования, есть множественное присваивание, которое позволяет выполнить такой обмен значительно проще (пример 1): a, b = b, a

Аналогично можно производить более сложные перестановки, например:

Читайте также:
Как называется программа для создания рисунков на компьютере

Вложенные условные операторы

Условный оператор находящийся внутри блока «иначе» ( else ) называется вложенным условным оператором . Использование вложенных условных операторов позволяет выбрать один из нескольких (а не только из двух) вариантов.

Пример 1: A возраст Александра, B возраст Владимира. Нужно определить,

кто из них старше или оба одного возраста.

print( «Александр старше» )

print( «Одного возраста» )

print( «Владимир старше» )

Обратите внимание на отступы: слова if , elif и else находятся на одном уровне.

Пример 2:Скидка при 1500 рублей.

В цепочке операторов if-elif-elif- … срабатывает первое истинное условие.

print( «Скидок нет.» )

print( «Скидка 10%.» )

Выводит «Скидка 2%.», хотя условие cost

В сложных условиях используется одна из логических операций: «И» ( and ), «ИЛИ» (or), «НЕ» (not) .

Пример 1: Прием на работу

if age >= 21 and age

print( «не подходит» )

В программе на языке Python можно сразу проверить выполнение двойного неравенства:

Пример 2: Сложное условие с операцией «И»

Предположим, что нам надо убедиться, что значение целой переменной a – двухзначное число, которое делится на 5. Для этого нужно, чтобы одновременно выполнились три условия:

1) число не меньше 10;

2) число меньше 100;

3) число делится на 5, то есть остаток от его деления на 5 равен нулю.

В условном операторе эти три простых условия должны быть

связаны с помощью двух операций «И»:

Пример 3: Сложное условие с операцией «ИЛИ»

Узнать, полетит ли самолет в этот день недели. Самолеты летают по вторникам и пятницам

if day == 2 or day == 5:

print( «Нет рейса.» )

Пример 4: Сложное условие с операцией «НЕ»

Узнать, есть ли уроки физической культуры в этот день недели. Урок физической культуры есть во вторник, четверг и субботу.

if not( day == 2 or day == 4 or day==6 ):

print( «Есть урок» )

print( «Урока нет» )

Если в сложном условии встречается несколько разных операций, они выполняются в следующем порядке:

1) операции в скобках;

В языке Python можно использовать переменные, которые принимают только логические значения – True («истина») или False («ложь»):

В логической переменной можно хранить значение какого-то условия и затем использовать его в условном операторе:

fly = (d = 2) or (d = 5)

if not fly: print( «Нет рейса.» )

else: print( «Полетит!» )

Практическое занятие №1 «Ветвляющие алгоритмы»

По примерам, которые приведены во введении, решите следующие задания.

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

2. Напишите программу, которая получает четыре числа – рост 4-х школьников, и выводит сообщение «По росту.», если числа введены по возрастанию (неубыванию), или сообщение «Не по росту!», если они введены в другом порядке..

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

Практическое занятие №2 «Ветвляющие алгоритмы»

1. Напишите программу, которая получает с клавиатуры целое число и выводит ответ на вопрос: «Верно ли, что было получено трёхзначное число?».

2. Напишите программу, которая определяет, принадлежит ли число x отрезку [ a ; b ]. Все числа вещественные, значения x , a и b вводятся с клавиатуры. Разработайте два варианта программы: с использованием вложенных условных операторов и со сложным условием.

3. *Напишите программу, которая получает трёхзначное число и определяет, верно ли, что все его цифры разные (программа должна вывести ответ «да» или «нет»).

Практическое занятие №3 «Ветвляющие алгоритмы»

Случайные числа – это последовательность чисел, в которой невозможно предсказать следующее число, даже зная все предыдущие.

Функции для работы с псевдослучайными числами в языке Python собраны в модуле random . В библиотеке Python используется один из наиболее совершенных алгоритмов для генерации псевдослучайных чисел – «вихрь Мерсенна», разработанный в 1997 году.

Для получения псевдослучайных чисел в заданном диапазоне мы будем использовать функции из модуля random :

• randint(a,b) – случайное целое число на отрезке [ a ; b ];

• uniform(a,b) – случайное вещественное число на отрезке [ a ; b ].

Для того чтобы записать в переменную n случайное число на отрезке [1; 6] (результат бросания игрального кубика), можно использовать такие команды:

Читайте также:
На чем пишут программы

from random import randint

В первой строке из модуля random импортируется (загружается) функция randint , во второй она вызывается для получения случайного числа.

Вещественное случайное число на отрезке [5; 12] получается так:

from random import uniform

x = uniform( 5, 12 )

1. Напишите программу «Спортлото», которая выводит 5 чисел из 36 случайным образом.

2.Напишите программу, которая получает с клавиатуры номер месяца и определяет, сколько дней в этом месяце. При вводе неверного номера месяца должно быть выведено сообщение об ошибке (ввод месяца можно осуществить случайным образом).

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

Практическое занятие №4 «Ветвляющие алгоритмы»

В языке Python работы со строками используется специальный тип данных str (от английского слова string ), который позволяет

• работать с целой символьной строкой как с единым объектом;

• использовать строки переменной длины.

Символьная строка – это последовательность символов.

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

Обратите внимание по умолчанию ввод – это ввод символьной переменной!

Чтобы перевести из символьного типа строку из цифр в целочисленный тип достаточно написать n = int(s).

ЭТО УПРОЩАЕТ РЕШЕНИЕ МНОГИХ ЗАДАЧ!

Встроенная функция len определяет длину строки – количество символов в ней. Вот так в переменную n записывается длина строки s :

Строки можно сравнивать между собой так же, как числа.

Например, можно проверить равенство двух строк, определить, какая из двух строк больше, какая – меньше. Если строки состоят только из русских или только из латинских букв, то меньше будет та строка, которая идет раньше в алфавитном списке. Например, слово « паровоз » будет «меньше», чем слово « пароход »: они отличаются в пятой букве и « в » х ».

Сложение и умножение

Оператор «+» используется для «сложения» (объединения, сцепления) строк. Эта операция иногда называется конкатенация . Например:

В язык Python введена операция умножения строки на число: она заменяет многократное сложение. Например,

s = «Уа! Уа! Уа! Уа! Уа! Уа! Уа! Уа!

Уа! Уа! «

можно заменить на

Обращение к символам

В Python каждый символ строки имеет свой номер (индекс), причём нумерация, как и во многих других языках программирования (С, C++, Java), всегда начинается с нуля.

hello = » П р и в е т ! «

К любому символу можно обратиться по индексу, записав индекс в квадратных скобках после имени строки:

print( hello[1] ) # р

print( hello[5] + hello[2] + «к» ) # тик

В языке Python можно указывать отрицательные индексы.

Это значит, что отсчёт ведётся от конца строки, так что символ

hello[-1] – это последний символ строки hello :

индексы –7 –6 –5 –4 –3 –2 –1

hello = » П р и в е т ! «

Чтобы рассчитать «обычную» позицию символа в строке, к отрицательному индексу нужно добавить длину строки. Например,

hello[-1] = hello[len(hello)-1] = hello[6]

Предыдущую программу можно было переписать, используя отрицательные индексы:

print( hello[-6] ) # р

print( hello[-2] + hello[-5] + «к» ) # тик

Для того, чтобы выделить часть строки ( подстроку ), в языке Python применяется операция получения среза (англ. slicing ).

Например, s[3:8] означает «символы строки s с 3-го по 7-й» (то есть до 8-го, не включая его). Следующий фрагмент копирует в строку s1 символы строки s с 3-го по 7-й (всего 5 символов):

Подробнее читайте в учебниках и сайтах по Python.

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

2. Напишите программу, которая получает с клавиатуры 5-ое число и определяет какая цифра в числе больше (2-ая или 4-ая). Решить, используя обращение к символам.

3*. « Кто старше». Петя и Ваня записали свою дату рождения (день, месяц, год), но забыли поставить разделительную точку. Определите, кто из мальчиков старше по году рождения, либо они родились в один год.

Источник: nsportal.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru