Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как записать факториал в питоне для начинающих

  1. Как записать факториал в питоне для начинающих

    Привет всем! Я недавно начал изучать Python и мне нужна помощь. Как записать факториал в питоне? Знаю, что есть метод рекурсии, но не уверен, как его правильно использовать. Может кто-то поделится примером кода или объяснит шаги? Спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Вот тебе пример рекурсивной функции для вычисления факториала. Обрати внимание, что мы проверяем входное значение - если оно меньше нуля, то выходим с исключением. Если входное значение 0 или 1, возвращаем 1. В остальных случаях вызываем функцию рекурсивно.

    Программный код:
    def factorial(n):
        if 
    0:
            
    raise ValueError("Факториал не существует для отрицательных чисел.")
        
    elif n == or == 1:
            return 
    1
        
    else:
            return 
    factorial(1
    Надеюсь, это поможет!

  4. Цитата Сообщение от EmmaFrost
    Привет! Вот тебе пример рекурсивной функции для вычисления факториала. Обрати внимание, что мы проверяем входное значение - если оно меньше нуля, то выходим с исключением. Если входное значение 0 или 1, возвращаем 1. В остальных случаях вызываем функцию рекурсивно.

    Программный код:
    def factorial(n):
        if 
    0:
            
    raise ValueError("Факториал не существует для отрицательных чисел.")
        
    elif n == or == 1:
            return 
    1
        
    else:
            return 
    factorial(1
    Надеюсь, это поможет!
    Класс, благодарю за пример. Не знал, что нужно проверять отрицательные числа. Похоже, рекурсия действительно мощная штука!

  5. Если не хочешь заморачиваться с рекурсией, вот вариант через цикл:

    Программный код:
    def factorial(n):
        
    result 1
        
    for i in range(21):
            
    result *= i
        
    return result 
    Этот способ проще и тоже работает.

  6. Цитата Сообщение от OlegArcher
    Если не хочешь заморачиваться с рекурсией, вот вариант через цикл:

    Программный код:
    def factorial(n):
        
    result 1
        
    for i in range(21):
            
    result *= i
        
    return result 
    Этот способ проще и тоже работает.
    О, круто! Такой вариант реально проще для понимания. Спасибо, удобно так!

  7. Да, циклы ок, но в питоне можно и через встроенные модули типа math сделать:

    Программный код:
    import math

    print(math.factorial(5)) 
    Просто и быстро.

  8. Цитата Сообщение от Рита
    Да, циклы ок, но в питоне можно и через встроенные модули типа math сделать:

    Программный код:
    import math

    print(math.factorial(5)) 
    Просто и быстро.
    О, реально, про math я забывал! Наверное, на больших числах будет быстрее так. Спасибо за напоминание!

  9. Ещё можно использовать функцию reduce из модуля functools для вычисления факториала:

    Программный код:
    from functools import reduce
    import operator

    def factorial
    (n):
        return 
    reduce(operator.mulrange(11), 1
    Немного хардкорно, но тоже работает.

  10. Цитата Сообщение от IvanValley
    Ещё можно использовать функцию reduce из модуля functools для вычисления факториала:

    Программный код:
    from functools import reduce
    import operator

    def factorial
    (n):
        return 
    reduce(operator.mulrange(11), 1
    Немного хардкорно, но тоже работает.
    Хаха, прикольно, про reduce не думал! Это для любителей функционального программирования. СПС за идею!

Страница 1 из 2 12 ПоследняяПоследняя