Написание функции с переменным числом параметров
Информатика

Напишите функцию, которая принимает от 1 до 3 целочисленных параметров, аналогично стандартной функции range

Напишите функцию, которая принимает от 1 до 3 целочисленных параметров, аналогично стандартной функции range. Единственный обязательный аргумент - последнее число. Если указаны 2 аргумента, то первый считается начальным числом, а второй - конечным (не включительно). Если указаны 3 аргумента, то третий интерпретируется как шаг. Функция должна возвращать один из следующих списков: квадратные корни чисел. Вызовите функцию с различными комбинациями параметров: от 1 до 3. Подсказка: решите проблему переменного числа параметров, сделав их необязательными.
Верные ответы (1):
  • Zagadochnyy_Magnat_1242
    Zagadochnyy_Magnat_1242
    47
    Показать ответ
    Написание функции с переменным числом параметров

    Разъяснение: Для решения этой задачи мы можем использовать следующий подход: создать функцию, которая принимает необязательные параметры с помощью оператора *args. Затем, внутри функции, мы можем проверять, сколько аргументов было передано, и возвращать соответствующий список чисел.

    Вот пример решения этой задачи:

    python
    import math

    def my_range(*args):
    num_args = len(args)

    # Если передан только один аргумент
    if num_args == 1:
    return [math.sqrt(args[0])]

    # Если передано два аргумента
    if num_args == 2:
    return [math.sqrt(x) for x in range(args[0], args[1])]

    # Если переданы три аргумента
    if num_args == 3:
    return [math.sqrt(x) for x in range(args[0], args[1], args[2])]

    # Если передано больше трех аргументов
    return "Функция должна принимать от 1 до 3 аргументов"

    # Пример использования функции
    print(my_range(10)) # [3.1622776601683795]
    print(my_range(1, 10)) # [1.0, 1.4142135623730951, 1.7320508075688772, 2.0, 2.23606797749979, 2.449489742783178, 2.6457513110645907, 2.8284271247461903, 3.0]
    print(my_range(1, 10, 2)) # [1.0, 1.7320508075688772, 2.0, 2.6457513110645907, 3.0]
    print(my_range(1, 10, 0.5)) # Функция должна принимать только целочисленные аргументы


    Совет: При решении этого задания рекомендуется использовать цикл for и генератор списков для создания списка чисел. Использование математической функции sqrt() из модуля math позволяет легко найти квадратный корень числа.

    Задача на проверку: Напишите код, который вызывает функцию my_range с различными комбинациями параметров (от 1 до 3) и выводит результат на экран.
Написать свой ответ: