''' Funkcje definiujące silnię: iteracynie i rekurencyjnie ''' def fac(n): if not isinstance(n,int): raise TypeError("Tylko dodatnie liczby całkowite!") elif n<0: raise ValueError("Tylko dodatnie liczby całkowite!") elif n==0: return 1 else: s=1 for i in range(2,n+1): s*=i return s def facr(n): if not isinstance(n,int): raise TypeError("Tylko dodatnie liczby całkowite!") elif n<0: raise ValueError("Tylko dodatnie liczby całkowite!") elif n==0: return 1 else: return n*facr(n-1)