Улучшение читаемости функции деления

Код уже читаем и корректен. Можно убрать промежуточную переменную quotient, сохранив оператор / и поведение при делении на ноль.

Короткий ответ

Что ответить на собеседовании

Код уже читаем и корректен. Можно убрать промежуточную переменную quotient, сохранив оператор / и поведение при делении на ноль.

Подробный разбор

Ответ с пояснениями

Условие

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

def divide(numerator, denominator):
    quotient = numerator / denominator
    return quotient

def main():
    first, second = 10, 3
    print(divide(first, second))

if __name__ == "__main__":
    main()

Ответ

Код уже читаем и корректен. Можно убрать промежуточную переменную quotient, сохранив оператор / и поведение при делении на ноль.

def divide(numerator, denominator):
    return numerator / denominator


def main():
    numerator = 10
    denominator = 3
    print(divide(numerator, denominator))


if __name__ == '__main__':
    main()

Имена в main теперь отражают роли аргументов. Для показанных целых чисел / возвращает float, поэтому результат будет примерно 3.3333333333333335. Замена на // изменила бы смысл на целочисленное деление. Без дополнительного требования не нужно подавлять ZeroDivisionError или возвращать особое значение: это уже изменение контракта, а не косметический рефакторинг.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее