Como encontrar fatorial em Python [com exemplos de codificação]

Publicados: 2020-11-30

Índice

Introdução

Todos nós devemos estar familiarizados com a palavra fatorial, pois todos fomos apresentados a ela em nossa escola primária na disciplina de Matemática. Fatorial é o produto de todos os inteiros positivos começando de um até o número dado. O fatorial é calculado apenas para valores positivos e não pode ser calculado para os tipos Negativo e Flutuante.

Eu me perguntava quando estou aprendendo fatorial e outros conceitos matemáticos onde eu os usaria na minha vida real, graças à Ciência de Dados, pois pude entender agora a importância de todos os componentes matemáticos, como Álgebra Linear, Probabilidade, Estatística.

Vamos ver a importância do Fatorial, diferentes formas de calculá-lo usando python neste artigo.

Importância

Vamos dar um exemplo de que temos uma corrida entre 10 carros em um evento de corrida mundial, e temos uma declaração de problema para descobrir de quantas maneiras esses 10 carros chegam primeiro, segundo, terceiro. Como são apenas 10 carros, gostaríamos de pegar um papel e anotar as várias combinações. Mas e se tivermos 100 carros ou mais eventos e tivermos o mesmo tipo ou similar de declaração de problema nisso?

Para lidar com esse tipo de situação, temos algo chamado Permutação . Eu acho que você estaria ciente deste termo como Permutações e Combinações em nossa escola primária. Estes são muito necessários se você quiser dominar suas habilidades de análise de dados e estatística. Se você é iniciante e está interessado em aprender mais sobre ciência de dados, confira nossos cursos de ciência de dados das melhores universidades. Isso ajuda a resolver a declaração do problema conforme indicado abaixo.

Solução

Temos um total de 10 carros.

Precisamos encontrar a possibilidade de 3 vencedores em 10.

10! / (10-3)! = 10! / 7! = 720

Então, temos um total de 720 possibilidades para esses 10 carros chegarem em primeiro, segundo, terceiro no evento de corrida.

Implementação do Python

Python é uma linguagem de programação de alto nível, interpretada e de propósito geral que se concentra na legibilidade do código e a sintaxe usada na linguagem Python ajuda os programadores a concluir a codificação em menos etapas em comparação com Java ou C++ e é construída sobre C.

A linguagem foi fundada em 1991 pelo desenvolvedor Guido Van Rossum . Python é amplamente utilizado em organizações maiores porque principalmente em vários casos de uso de Inteligência Artificial, como Visão Computacional, Processamento de Linguagem Natural, Aprendizado Profundo, Reconhecimento de Fala, Reconhecimento de Face, Reconhecimento de Voz.

Python é uma ferramenta de programação muito poderosa e pode ser usada para uma ampla variedade de casos de uso na vida real. Ele oferece uma função direta que pode calcular o fatorial de um determinado número sem escrever o código explicitamente. Mas vamos começar com uma abordagem ingênua e finalmente conhecer essa função.

Leia também: Por que o Python é tão popular entre os desenvolvedores?

Para Loop

Podemos calcular o fatorial de um número iterando do número 1 até o número dado, multiplicando em cada etapa. Vamos pular para a parte de codificação da abordagem discutida acima.

Código

number = input (“Digite um número:”) # Idealmente, você pode usar qualquer mensagem de impressão

fatorial = 1

if int (number) >=1: # Para verificar se o número dado é positivo ou não.

for i in range (1, int(number)+1): # Loop do número 1

fatorial = fatorial * I # Multiplicação com cada número.

print (“Fatorial de “, número, ” é: “, fatorial) # Imprime o fatorial calculado.

Saída

A execução do código acima fornecerá a saída abaixo:

Digite um número: 5

Fatorial de 5 é: 120

Função recursiva

Neste caso, estaremos criando nossa própria função definida pelo usuário em python que nos ajudará a calcular o fatorial de um determinado número.

Código

número = entrada (“Digite um número: “)

def recursive_factorial(number): # Função recursiva definida pelo usuário.

if number == 1: # Condição se o número dado for igual a 1

número de retorno

elif number < 1: # Condição se o número fornecido for menor que 1

return (“O número dado é menor que um e o fatorial não pode ser calculado.”)

outro:

retornar número*recursive_factorial(número – 1)

print (recursive_factorial(int(number)))

Saída

A execução do código acima fornecerá a saída abaixo:

Digite um número: 5

120

Digite um número: -2

O número dado é menor que um e o fatorial não pode ser calculado

Digite um número: 1

1

Função fatorial no pacote de matemática

O Python é amplamente conhecido por sua facilidade de uso e pacotes de terceiros amigáveis ​​que simplificarão muitas tarefas. No cenário atual, o Python é a linguagem preferida dos Cientistas de Dados.

Código

import math # Pacote obrigatório

numero= input("Digite um numero: ")

print("O fatorial de ", número," é: ")

print(math.factorial(int(number))) # Função para calcular o fatorial

Saída

A execução do código acima fornecerá a saída abaixo:

Digite um número: 5

O fatorial de 5 é:

120

Digite um número: 5,6

Traceback (última chamada mais recente):

O fatorial de 5,6 é:

Arquivo “C:/Users….py”, linha 5, em

print(matemática.fatorial(int(número)))

ValueError : literal inválido para int() com base 10: '5.6'

Estamos recebendo um erro de valor porque não podemos calcular o fatorial de float integer. Quando estamos escrevendo explicitamente o código python, precisamos ter o cuidado de verificar todas as condições e gerar a mensagem relevante, mas na função fatorial do pacote Math em python ele faz tudo para nós, o que nos ajuda a diminuir nosso código de linhas quando temos uso de Factorial em nosso Projeto ou qualquer declaração de problema.

Deve ler: Tutorial Python

Conclusão

Neste artigo conhecemos a importância e aplicação do Fatorial e outros conceitos matemáticos importantes na vida real. Percorremos os diferentes tipos de código para calcular o Fatorial de um determinado número. Este artigo cobre apenas o Fatorial em Python, mas há muitos outros cálculos matemáticos disponíveis no pacote MATH. Os novatos em Python podem dar uma olhada mais profunda neles e podem até tentar alguns.

Se você está curioso para aprender sobre ciência de dados, confira o Programa PG Executivo em Ciência de Dados do IIIT-B & upGrad, que é criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, workshops práticos práticos, orientação com especialistas do setor, 1 -on-1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.

O que é recursão em Python?

Recursão em Python significa fazer um loop pelos dados para chegar a um resultado definitivo. É um processo matemático e de programação bem conhecido no qual algo (uma instrução ou uma função) é definido em termos de si mesmo. Com a ajuda da recursão, os usuários ou desenvolvedores podem dividir códigos e funções complexas em subpartes menores, e criar uma sequência se torna muito mais acessível. Um desenvolvedor deve ter cuidado extra ao usar a recursão, pois escrever uma função que nunca termina ou consome quantidades excessivas de memória ou energia da CPU é bastante frequente. Quando feita corretamente, a recursão pode ser uma maneira tremendamente eficiente e matematicamente inovadora de programar.

Quanto tempo leva para aprender o básico do Python?

O Python é considerado a linguagem de programação mais simples, portanto, aprender o básico do Python é fácil e não consome muito tempo. Estudantes ou profissionais podem dedicar de 1 a 2 meses para aprender o básico do Python. Um profissional também pode dominar todas as funções e bibliotecas essenciais do python em 4-5 meses, dedicando cerca de 2-3 horas todos os dias. Compreender o Python é fácil, pois a maioria dos códigos tem instruções menores e há mais funções predefinidas.

Qual é a complexidade de tempo do programa fatorial em Python?

Descobrimos a partir do programa fatorial que fatorial(0) é simplesmente uma comparação (1 unidade de tempo) e fatorial(n) é uma comparação, uma multiplicação, uma subtração e tempo para fatorial (n-1). Assim, podemos dizer que T(n) = T(n — 1) + 3 e T(0) = 1. Colocando valores, descobrimos que T(N) é diretamente proporcional a n, como visto na notação Big-Oh. Como resultado, a complexidade temporal do programa fatorial é O(n).