Enviado em 22/03/2017 - 03:12h
estou usando a função gamma do module math para calcular o fatorial de numeros decimais, mas estou tendo retorno de valores errados, alguém sabe o que se passa?#Froyd
#youtube.com/c/ifroydcoder
import math
#sera usado o modulo math , somente para calcular fatorial de numeros
#decimais com a funcao math.gamma, pois os mesmos exigem estudos de
#calculos avancados!
def fatorial(n): #define a funcao fatorial, que tem como argumento um numero n inteiro
if n<0: #verifica se o numero digitado e negativo
print("A operacao fatorial nao suporta numeros negativos") #retorna um texto informativo
elif n>69: #verifica se o numero digitado e maior que 69
print("Digite apenas numeros,tal que, 0 <= n <= 69 \n") #retorna um texto informativo
elif n==0 or n==1: #verifica se o numero digitado e 0 ou 1
return 1 #retorna o valor 1, pois !0=1 e !1=1
else:
return n*fatorial(n-1) #retorna o calculo fatorial do numero digitado
def painel():
selecione = input('''
Painel
1 - Fatorial de numeros inteiros
2 - Fatorial de numeros fracionarios
Selecione: ''')
if selecione==1:
n=(input("Insira um numero , tal que, 0 <= n <= 69 \n")) #solicita ao usuario a insercao do valor n inteiro
if type(n) <> int:
print "Inclua somente numeros inteiros"
painel()
else:
print "O fatorial de n e:", fatorial(n) #mostra o resultado do calculo feito pela funcao fatorial
elif selecione==2:
print "Utilize o '.' como separador em vez de ','"
n=(input("Insira um numero do conjunto dos reais para realizar a operacao \n")) #solicita ao usuario a insercao do valor n real
if type(n) <> float:
print "Inclua somente numeros fracionarios"
painel()
elif n>69:
print("Digite apenas numeros,tal que, 0 <= n <= 69 \n")
painel()
elif n<0:
print("A operacao fatorial nao suporta numeros negativos")
painel()
else:
# math.gamma(n)
print "O fatorial de n e:", math.gamma(n) # mostra o resultado do calculo da funcao math.gamma do module math para calculo de fatorial de numeros decimais
else:
print "Selecione apenas o que esta no painel, tente novamente"
painel()
painel()
ActivePython 2.7.13.2713 (ActiveState Software Inc.) based on
Python 2.7.13 (default, Jan 18 2017, 15:40:43) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> math.gamma(4.0)
6.0
>>>
Desktop Linux ganha fôlego enquanto distros refinam experiência e segurança
Wayland em alta, IA em debate e novos ventos para distros e devices
Qt 6.10 e Python 3.14 puxam o ritmo do software livre nesta quarta
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
Erro ao fazer remaster usando Penguin eggs (2)
Primeiras impressões do Debian 13 (25)
Meu Amigo não consegue entrar em meu mundo, via tailscale, hamachi e z... (1)