МУНИЦИПАЛЬНОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ОБРАЗОВАНИЯ
«ЦЕНТР ДЕТСКОГО ТЕХНИЧЕСКОГО ТВОРЧЕСТВА»
Методическая разработка
«Python. Функции. 2 часть»
к дополнительной общеобразовательной
общеразвивающей программе
технической направленности
«Лаборатория робототехники»
Возраст детей: 10-17 лет
Автор: Костычев Вадим Александрович
г. Заречный Пензенской области
2023 г.
В ходе изучения программирования на основе языка Python большую роль играет разработка проектов. Они позволяют отработать как навыки программирования, вспомнить работу различных функций, команд, развить навыки построения алгоритмов.
Целью данной разработки является повышение интереса учащихся к техническому творчеству посредством работы над проектом на языке Python.
Данная методическая разработка используется как обучающий пример для работы по дополнительной общеобразовательной общеразвивающей программе технической направленности «Лаборатория робототехники». С их помощью учащиеся смогут применить теоретические знания на практике, построив сложные алгоритмы для решения различных задач.
В данной методической разработке будет рассмотрен такой инструмент, return и как он используется в функциях.
Команда return в функциях языка программирования Python используется для возврата результата выполнения функции в вызывающую программу или для немедленного выхода из функции. Когда вам нужно получить какой-то результат вычисления в функции, вы можете использовать return, чтобы вернуть этот результат:
def cube(x):
return x**3
result = cube(3)
print(result)
В примере выше функция cube принимает аргумент x и возвращает его куб. Затем мы вызываем эту функцию с аргументом 3 и сохраняем результат в переменной result. Когда мы вызываем print(result), мы получаем результат 27.
Второе использование return - это немедленный выход из функции, если вам нужно завершить выполнение функции в середине процесса.
def divide_numbers(num1, num2):
if num2 == 0:
print("Error: Division by zero is not allowed.")
return
result = num1 / num2
print("The result is:", result)
divide_numbers(10, 5)
divide_numbers(10, 0)
В этом примере мы имеем функцию divide_numbers, которая выполняет деление двух чисел, проверяя, равно ли делитель 0, и если это так, то выводит сообщение об ошибке и завершает выполнение функции с помощью return. Если делитель не равен 0, то функция вычисляет результат и выводит его на экран.
Задача 1. Площадь прямоугольника
Напишите программу, которая вызывает функцию rectangle_area. Эта функция принимает два параметра с клавиатуры – длину и ширину прямоугольника. Найдите площадь прямоугольника передав значение в основную часть программы.
Входные данные:
5
6
Выходные данные:
30
Листинг программы:
def rectangle_area(length, width):
area = length * width
return area
print(rectangle_area(int(input()), int(input())))
Задача 2. Арифметические операции
Напишите функцию, которая принимает два аргумента с клавиатуры - целочисленные значения a и b, и возвращает результат вычисления их суммы, разности, произведения и частного.
Входные данные:
20
4
Выходные данные:
(24, 16, 80, 5.0)
Листинг программы:
def calc(a, b):
sum = a + b
diff = a - b
prod = a * b
if b == 0:
q = "division by zero error"
else:
q = a / b
return sum, diff, prod, q
print(calc(int(input()), int(input())))
Задача 3. Буквы слов
Напишите функцию, которая будет принимать строку и возвращать список из слов, длина которых больше заданного числа n.
Входные данные:
Lorem ipsum dolor sit amet consectetur adipiscing elit Pellentesque porta viverra nisi id feugiat
7
Выходные данные:
['consectetur', 'adipiscing', 'Pellentesque']
Листинг программы:
def filter_words_by_length(word_list, n):
result_list = []
for word in word_list:
if len(word) n:
result_list.append(word)
return result_list
my_words = input().split()
filtered_words = filter_words_by_length(my_words, int(input()))
print(filtered_words)
Задача 4. Сортировка
Напишите функцию, которая определяет, является ли переданный ей список возрастающей последовательностью чисел. Данные задаются строкой с клавиатуры.
Входные данные:
1, 2, 4, 2
Выходные данные:
False
Листинг программы:
def is_ascending(numbers):
for i in range(1, len(numbers)):
if numbers[i]
return False
return True
my_list = input().split(', ')
for i in my_list:
i = int(i)
print(is_ascending(my_list))
Задача 5. Палиндром
Напишите функцию, которая принимает в качестве аргумента строку и возвращает значение True если указанный текст является палиндромом и False в противном случае.
Входные данные:
Дорого небо, да надобен огород.
Выходные данные:
True
Листинг программы:
def palindrome(text):
text = text.replace(' ', '')
text = text.replace(',', '')
text = text.replace('?', '')
text = text.replace('!', '')
text = text.replace('.', '')
text = text.replace('-', '')
text = text.lower()
for i in range(len(text)):
if text[i] != text[len(text)-1-i]:
return False
return True
print(palindrome(input()))