Script
# calcolo delle frequenze assolute dei numeri ottenuti sommando le cifre dei numeri di pagina di un libro
# con l'utilizzo degli array (liste Python)
print("Calcolo delle frequenze assolute dei numeri ottenuti sommando le cifre dei numeri di pagina di un libro")
n = int(input("Quante pagine ha il tuo libro? (n<1000) "))
# crea la variabile lista r con 28 valori nulli
r = 28*[0]
for i in range(1, n+1):
# formule per l'estrazione delle cifre separate dal numero i
c = i // 100 # centinaia
d = (i - c*100) // 10 # decine
u = i - c*100 - d*10 # unità
s = c + d + u # calcolo la somma delle varie cifre
if s < 28: # se la somma delle cifre è < 28, incremento il contatore r[s]
r[s] += 1
else: # altrimenti, segnala un messaggio di errore
print("Numero non previsto:", s)
# stampa il diagramma a barre delle frequenze
print(" Frequenze")
print(" 0┌────────────────────────────────────────────────────────────────────────────────")
for i in range(1,28):
print("%2d│%s %d" % (i, r[i]*"█", r[i]))
Shell
Calcolo delle frequenze assolute dei numeri ottenuti sommando le cifre dei numeri di pagina di un libro
Quante pagine ha il tuo libro? (n<1000) 999
Frequenze
0┌────────────────────────────────────────────────────────────────────────────────
1│███ 3
2│██████ 6
3│██████████ 10
4│███████████████ 15
5│█████████████████████ 21
6│████████████████████████████ 28
7│████████████████████████████████████ 36
8│█████████████████████████████████████████████ 45
9│███████████████████████████████████████████████████████ 55
10│███████████████████████████████████████████████████████████████ 63
11│█████████████████████████████████████████████████████████████████████ 69
12│█████████████████████████████████████████████████████████████████████████ 73
13│███████████████████████████████████████████████████████████████████████████ 75
14│███████████████████████████████████████████████████████████████████████████ 75
15│█████████████████████████████████████████████████████████████████████████ 73
16│█████████████████████████████████████████████████████████████████████ 69
17│███████████████████████████████████████████████████████████████ 63
18│███████████████████████████████████████████████████████ 55
19│█████████████████████████████████████████████ 45
20│████████████████████████████████████ 36
21│████████████████████████████ 28
22│█████████████████████ 21
23│███████████████ 15
24│██████████ 10
25│██████ 6
26│███ 3
27│█ 1