{}
run-icon
main.py
from numpy import log10, floor from time import perf_counter def licznik(n): suma = 0 for i in range(1,n + 1): suma += log10(i) return int(floor(suma) + 1) def ksiazka(n): s_szerokosc = 66 s_wysokosc = 58 #Odpowiada to czcionce Liberation Mono 12 pt na stronie A4 z 2 cm marginesami strona = s_szerokosc*s_wysokosc s_grubosc = 0.1 liczba = int(floor(n/strona) + 1) grubosc = (floor(n/strona/2) + 1) * s_grubosc return liczba, grubosc def obliczenia(n, d = 0): wynik1 = licznik(n) wynik2 = ksiazka(wynik1) if d == 1: print(f'Liczba cyfr {n}! = {wynik1}') print(f'Liczba stron = {wynik2[0]}') print(f'Grubość książki = {wynik2[1]} mm') print() else: return wynik1, wynik2 if __name__ == "__main__": print('###') print('Funkcja obliczenia(n) oblicza liczbę cyfr n! oraz tablicę z liczbą stron i grubością książki potrzebną do zapisu tej liczby nie licząc okładki. Drugi parametr d = 1 drukuje wynki obliczeń.') print() print('Parametry') print('Strona: A4') print('Marginesy: 2 cm') print('Czcionka: Liberation Mono 12 pt') print('Grubość kartki: 0.1 mm') print('###') print() print("Przykładowe obliczenia") print() z = [10, 10**3, 10**6, 10**8] l = len(z) j = 1 calkowity = 0 for i in z: print(f'Przykład {j} z {l}') start = perf_counter() obliczenia(i, 1) stop = perf_counter() czas = round((stop - start),6) calkowity += czas print(f'Czas obliczeń: {czas} s\n') j +=1 minuty = calkowity // 60 sekundy = round(calkowity % 60, 6) print(f'Całkowity czas obliczeń: {minuty} m {sekundy} s\n') print('Gotowe!')
Output