Intervallo

Campo di variabilità, range

Soluzione 1

lista = [1, 8, 1, 1, 9, 2, 8]
 
minimo  = lista[0]           # 1
massimo = lista[0]           # 1
n = len(lista)               # 7
for i in range(1, n):        # 1..6
    x = lista[i]
    if(x < minimo):
        minimo  = x
    if(x > massimo):
        massimo = x
intervallo = massimo-minimo  # 9-1 = 8
+---+---------------+-----------+
| i | x |   minimo  |  massimo  |
+---+-----------+---+-------+---+
|   |   |       | 1 |       | 1 |
| 1 | 8 | 8 &lt; 1 | 1 | 8 > 1 | 8 | &lt;--
| 2 | 1 | 1 &lt; 1 | 1 | 1 > 8 | 8 |
| 3 | 1 | 1 &lt; 1 | 1 | 1 > 8 | 8 |
| 4 | 9 | 9 &lt; 1 | 1 | 9 > 8 | 9 | &lt;-- 
| 5 | 2 | 2 &lt; 1 | 1 | 2 > 8 | 9 |
| 6 | 8 | 8 &lt; 1 | 1 | 8 > 8 | 9 |
+---+-----------+---+-------+---+

Soluzione 2

Si semplifica il codice del blocco for utilizzando la costante math.inf

import math

lista = [1, 8, 1, 1, 9, 2, 8]

minimo  = +math.inf
massimo = -math.inf
n = len(lista)
for x in lista:
    if(x < minimo):
        minimo  = x
    if(x > massimo):
        massimo = x
intervallo = massimo-minimo
  +---------------+-----------+
  | x |   minimo  |  massimo  |
  +-----------+---+-------+---+
  |   |       | * |       | * |
0 | 1 | 1 &lt; * | 1 | 1 > * | 1 | &lt;--
1 | 8 | 8 &lt; 1 | 1 | 8 > 1 | 8 | &lt;--
2 | 1 | 1 &lt; 1 | 1 | 1 > 8 | 8 |
3 | 1 | 1 &lt; 1 | 1 | 1 > 8 | 8 |
4 | 9 | 9 &lt; 1 | 1 | 9 > 8 | 9 | &lt;-- 
5 | 2 | 2 &lt; 1 | 1 | 2 > 8 | 9 |
6 | 8 | 8 &lt; 1 | 1 | 8 > 8 | 9 |
  +-----------+---+-------+---+

Soluzione 3

Utilizza le funzioni predefinite max() e min()

lista = [1, 8, 1, 1, 9, 2, 8]
 
minimo     = min(lista)
massimo    = max(lista)
intervallo = massimo-minimo