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 novos apps enquanto IA invade o noticiário
Blender 5.0 Beta, Firefox 144 e avanço da IA dominam o dia no mundo Linux
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
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 (4)
Linux x Plataformas de Trading - um problema (in-)solúvel? (3)