def silnia_iteracyjnie(podana_liczba):
wynikSilni=1
for kolejnyPrzebieg in range(1, podanaLiczba+1):
wynikSilni=wynikSilni*kolejnyPrzebieg
return wynikSilni
definicja = """\n\nDEFINICJA SILNI\n\n
Silnią liczby 5 jest pięć kolejno pomnożonych przez siebie liczb naturalnych zaczynając od 1, tj. 1*2*3*4*5 = 120.
Filozoficznie: Silnia oznacza ilość permutacji w zbiorze n-elementowym (na ile sposobów można przedstawić te elementy.)
"""
print(definicja)
try:
podanaLiczba = int(input("Podaj liczbę naturalną:"))
if podanaLiczba>=1:
print('\n\nWynik: ', podanaLiczba, '! = ',silnia_iteracyjnie(podanaLiczba))
elif podanaLiczba == 0:
print('\n\nMatematyka formalna przyjmuje na zasadzie umowy, że 0! = 1.\nZ filozoficznego punktu widzenia, nie ma to jednak sensu.\n\n')
else:
print('\n\nBŁĄD: ')
print('Musisz podać liczbę naturalną (czyli liczbę całkowitą dodatnią i większą od zera)!')
except ValueError:
print('\n\nBŁĄD: ')
print('Wprowadzone wartości albo nie są liczbami naturalnymi.... Albo w ogóle nie wprowadzono żadnych wartości.\n\nSpróbuj jeszcze raz.\n')
finally:
input('\n\nNaciśnij ENTER, aby zakończyć...\n')
Pobierz program