tuple

Las listas son mutables: podemos cambiar sus elementos con l[1] = 100. Python proporciona una alternativa a las listas: tuple, que garantiza que los elementos individuales no van a cambiar. Se usa principalmente para piezas de información muy relacionadas, de modo que cuando se actualiza un elemento, toda la información cambia y, por lo tanto, se debe actualizar toda la tupla.
box = (20, 30, 50)
print('height:', box[0])
print('width:', box[1])
print('depth:', box[2])
Nota que la única diferencia aquí es que usamos paréntesis () en lugar de corchetes [] como hacíamos con las listas. Incluso podríamos omitir los paréntesis y simplemente usar box = 20, 30, 50, lo que resultaría exactamente en la misma tupla.
Las tuplas no son modificables. No tienen un método append o add para agregar elementos. Si intentamos cambiar la altura de la caja, necesitamos cambiar toda la tupla:
box = (20, 30, 50)
box[0] = 10         # TypeError: 'tuple' object does not support item assignment
box = (10, 30, 50)  # OK
box = 10, 30, 50    # OK
También hay una forma fácil de desempaquetar los elementos de la tupla:
box = 20, 30, 50
height, width, depth = box
print('height:', height)
print('width:', width)
print('depth:', depth)
height, width, depth = 20, 30, 50
print('height:', height)
print('width:', width)
print('depth:', depth)

Desafío

¿Sabías que puedes leer múltiples entradas con una sola línea de código?
name, height = input(), int(input())
Esto es posible gracias a las tuplas y al desempaquetado de valores.
Se te pide que leas los registros de n pacientes y reportes sus estadísticas. Esta vez, los registros incluyen sus nombres y el peso de cada paciente. Se te pide que informes el promedio de todos los pacientes, y para cada paciente cuánto por encima o por debajo del promedio están.
La primera línea de la entrada contiene un solo entero n - el número de pacientes. Las siguientes líneas contienen el nombre del paciente seguido de su peso en la siguiente línea.
El programa debe primero imprimir el peso promedio, y luego los nombres de los pacientes, seguidos de dos puntos, y X above average si el peso es mayor o igual al promedio, y X below average si es menor.
Entrada
Salida
3 Anna 50 Bob 80 Simon 71
67 Anna: 17 below average Bob: 13 above average Simon: 4 above average
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue