Введение
В этом практическом занятии (лабораторной работе) вы научитесь проверять, возвращает ли функция Python определенное значение. Лабораторная работа сосредоточена на понимании возвращаемых значений функций с использованием оператора return и проверке вывода.
Вы начнете с создания скрипта на Python с функцией, которая вычисляет сумму двух чисел и возвращает результат. Затем вы запустите скрипт и посмотрите на вывод. Наконец, вы измените скрипт так, чтобы он возвращал разные значения в зависимости от условия и проверите возвращаемое значение.
Понять возвращаемые значения функций
На этом этапе вы узнаете о возвращаемых значениях функций в Python. Функции - это повторно используемые блоки кода, которые выполняют определенные задачи. Часто вам нужно, чтобы функция вернула результат после завершения своей работы. Это достигается с помощью оператора return.
Начнем с создания простого скрипта на Python, который определяет функцию с возвращаемым значением.
Откройте редактор VS Code в среде LabEx.
Создайте новый файл с именем
calculate_sum.pyв директории~/project.~/project/calculate_sum.pyДобавьте следующий код в файл
calculate_sum.py:def calculate_sum(x, y): """ This function calculates the sum of two numbers. """ sum_result = x + y return sum_result ## Example usage: num1 = 10 num2 = 5 result = calculate_sum(num1, num2) print("The sum of", num1, "and", num2, "is", result)В этом коде:
- Мы определяем функцию с именем
calculate_sum, которая принимает два аргумента,xиy. - Внутри функции мы вычисляем сумму
xиyи сохраняем ее в переменной с именемsum_result. - Оператор
return sum_resultвозвращает значениеsum_resultвызывающей стороне функции. - Затем мы вызываем функцию с
num1 = 10иnum2 = 5и сохраняем возвращаемое значение в переменнойresult. - Наконец, мы используем функцию
print()для вывода результата.
- Мы определяем функцию с именем
Теперь запустите скрипт с помощью следующей команды в терминале:
python ~/project/calculate_sum.pyВы должны увидеть следующий вывод:
The sum of 10 and 5 is 15Этот вывод подтверждает, что функция правильно вычислила сумму и вернула значение, которое затем было выведено на консоль.
Изменим скрипт так, чтобы он возвращал другое значение в зависимости от условия. Отредактируйте файл
calculate_sum.py, добавив следующее:def calculate_sum(x, y): """ This function calculates the sum of two numbers. If the sum is greater than 10, it returns double the sum. """ sum_result = x + y if sum_result > 10: return sum_result * 2 else: return sum_result ## Example usage: num1 = 10 num2 = 5 result = calculate_sum(num1, num2) print("The sum of", num1, "and", num2, "is", result) num3 = 2 num4 = 3 result2 = calculate_sum(num3, num4) print("The sum of", num3, "and", num4, "is", result2)Здесь мы добавили условный оператор (
if sum_result > 10:) для проверки, является ли сумма больше 10. Если это так, функция возвращает удвоенную сумму; в противном случае она возвращает исходную сумму.Запустите скрипт еще раз:
python ~/project/calculate_sum.pyТеперь вы должны увидеть следующий вывод:
The sum of 10 and 5 is 30 The sum of 2 and 3 is 5Первый вызов
calculate_sumвозвращает 30, потому что сумма (15) больше 10, поэтому она удваивается. Второй вызов возвращает 5, потому что сумма (5) не больше 10.
Вызов функции и сохранение результата
На этом этапе вы узнаете, как вызывать функцию и получать ее возвращаемое значение в Python. Получение возвращаемого значения функции позволяет использовать его в дальнейших вычислениях или операциях в рамках вашего скрипта.
Мы продолжим использовать файл calculate_sum.py из предыдущего шага. Если вы не завершили предыдущий шаг, создайте файл со следующим содержимым:
def calculate_sum(x, y):
"""
This function calculates the sum of two numbers.
If the sum is greater than 10, it returns double the sum.
"""
sum_result = x + y
if sum_result > 10:
return sum_result * 2
else:
return sum_result
## Example usage:
num1 = 10
num2 = 5
result = calculate_sum(num1, num2)
print("The sum of", num1, "and", num2, "is", result)
num3 = 2
num4 = 3
result2 = calculate_sum(num3, num4)
print("The sum of", num3, "and", num4, "is", result2)
Теперь изменим скрипт, чтобы получить возвращаемое значение функции calculate_sum и выполнить с ним дополнительные операции.
Откройте файл
calculate_sum.pyв редакторе VS Code.Измените скрипт следующим образом:
def calculate_sum(x, y): """ This function calculates the sum of two numbers. If the sum is greater than 10, it returns double the sum. """ sum_result = x + y if sum_result > 10: return sum_result * 2 else: return sum_result ## Example usage: num1 = 10 num2 = 5 result = calculate_sum(num1, num2) print("The sum of", num1, "and", num2, "is", result) ## Capture the output and perform an additional operation final_result = result + 20 print("The final result after adding 20 is:", final_result) num3 = 2 num4 = 3 result2 = calculate_sum(num3, num4) print("The sum of", num3, "and", num4, "is", result2) ## Capture the output and perform an additional operation final_result2 = result2 * 2 print("The final result after multiplying by 2 is:", final_result2)В этом измененном скрипте:
- Мы вызываем функцию
calculate_sumс аргументамиnum1иnum2и сохраняем возвращаемое значение в переменнойresult. - Затем мы прибавляем 20 к значению
resultи сохраняем результат в переменнойfinal_result. - Наконец, мы выводим значение
final_result. - Мы также вызываем функцию
calculate_sumс аргументамиnum3иnum4и сохраняем возвращаемое значение в переменнойresult2. - Затем мы умножаем
result2на 2 и сохраняем результат в переменнойfinal_result2. - Наконец, мы выводим значение
final_result2.
- Мы вызываем функцию
Запустите скрипт с помощью следующей команды:
python ~/project/calculate_sum.pyВы должны увидеть следующий вывод:
The sum of 10 and 5 is 30 The final result after adding 20 is: 50 The sum of 2 and 3 is 5 The final result after multiplying by 2 is: 10Этот вывод показывает, что вы можете успешно вызвать функцию, получить ее возвращаемое значение и использовать это значение в последующих операциях в рамках вашего скрипта.
Сравнение результата с ожидаемым значением
На этом этапе вы узнаете, как сравнивать результат выполнения функции с ожидаемым значением. Это важная часть тестирования и проверки правильности работы ваших функций. Сравнивая фактический результат с ожидаемым, вы можете выявить и исправить ошибки в коде.
Мы продолжим использовать файл calculate_sum.py из предыдущих шагов. Если вы не завершили предыдущие шаги, создайте файл со следующим содержимым:
def calculate_sum(x, y):
"""
This function calculates the sum of two numbers.
If the sum is greater than 10, it returns double the sum.
"""
sum_result = x + y
if sum_result > 10:
return sum_result * 2
else:
return sum_result
## Example usage:
num1 = 10
num2 = 5
result = calculate_sum(num1, num2)
print("The sum of", num1, "and", num2, "is", result)
## Capture the output and perform an additional operation
final_result = result + 20
print("The final result after adding 20 is:", final_result)
num3 = 2
num4 = 3
result2 = calculate_sum(num3, num4)
print("The sum of", num3, "and", num4, "is", result2)
## Capture the output and perform an additional operation
final_result2 = result2 * 2
print("The final result after multiplying by 2 is:", final_result2)
Теперь добавим функцию для сравнения результата с ожидаемым значением и вывода сообщения о том, прошел ли тест или нет.
Откройте файл
calculate_sum.pyв редакторе VS Code.Измените скрипт следующим образом:
def calculate_sum(x, y): """ This function calculates the sum of two numbers. If the sum is greater than 10, it returns double the sum. """ sum_result = x + y if sum_result > 10: return sum_result * 2 else: return sum_result def compare_output(actual_output, expected_output): """ This function compares the actual output with the expected output. """ if actual_output == expected_output: print("Test passed!") else: print("Test failed. Expected:", expected_output, "Actual:", actual_output) ## Example usage: num1 = 10 num2 = 5 result = calculate_sum(num1, num2) print("The sum of", num1, "and", num2, "is", result) ## Capture the output and perform an additional operation final_result = result + 20 print("The final result after adding 20 is:", final_result) ## Compare the output with the expected value expected_final_result = 50 compare_output(final_result, expected_final_result) num3 = 2 num4 = 3 result2 = calculate_sum(num3, num4) print("The sum of", num3, "and", num4, "is", result2) ## Capture the output and perform an additional operation final_result2 = result2 * 2 print("The final result after multiplying by 2 is:", final_result2) ## Compare the output with the expected value expected_final_result2 = 10 compare_output(final_result2, expected_final_result2)В этом измененном скрипте:
- Мы определяем функцию
compare_output, которая принимает два аргумента:actual_output(фактический результат) иexpected_output(ожидаемый результат). - Внутри функции мы сравниваем
actual_outputсexpected_output. - Если они равны, выводим "Test passed!" (Тест пройден!).
- Если они не равны, выводим "Test failed." (Тест не пройден) вместе с ожидаемым и фактическим значениями.
- Затем вызываем функцию
compare_outputс аргументамиfinal_resultиexpected_final_resultдля сравнения результата первого вычисления с ожидаемым значением 50. - Также вызываем функцию
compare_outputс аргументамиfinal_result2иexpected_final_result2для сравнения результата второго вычисления с ожидаемым значением 10.
- Мы определяем функцию
Запустите скрипт с помощью следующей команды:
python ~/project/calculate_sum.pyВы должны увидеть следующий вывод:
The sum of 10 and 5 is 30 The final result after adding 20 is: 50 Test passed! The sum of 2 and 3 is 5 The final result after multiplying by 2 is: 10 Test passed!Этот вывод показывает, что вы можете успешно сравнить результат выполнения функции с ожидаемым значением и определить, прошел ли тест или нет.
Резюме
В этом практическом занятии (лабораторной работе) первый шаг посвящен пониманию возвращаемых значений функций в Python. Он включает создание скрипта calculate_sum.py, в котором определяется функция calculate_sum(x, y), которая вычисляет сумму двух входных чисел и возвращает результат с использованием оператора return. Затем скрипт вызывает эту функцию с примерными значениями и выводит возвращаемую сумму в консоль, показывая, как функция может возвращать значение, которое можно сохранить и использовать в другом месте кода.
Затем исходный скрипт модифицируется так, чтобы он возвращал разные значения в зависимости от условия, что дополнительно иллюстрирует гибкость возвращаемых значений функций. Этот шаг укрепляет концепцию функций как повторно используемых блоков кода, которые могут предоставлять определенные выходные данные на основе своих входных параметров и внутренней логики.



