Silnia (python iteracyjnie) wersja rozszerzona


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

Walidacja HTML

Walidacja CSS