En este ejemplo, la función f() devuelve 3 valores (107, 'hello' y [8, 9, 10]). Podemos asignar cada valor devuelto a una variable con a, b, c = f().
La parte más interesante es que no hay magia en devolver varios valores. Lo que la función f() hace en realidad es devolver un solo valor: una tupla que tiene 3 elementos (107, 'hello' y [8, 9, 10]). Al imprimir todo el valor devuelto con print(f()), podemos ver que el valor devuelto es en realidad una tupla (note los paréntesis). Cuando una función devuelve una tupla, simplemente desempaquetamos los valores en a, b y c.
Así que, en realidad, las funciones siempre devuelven un solo valor, pero podemos interpretar que devolver una tupla es devolver múltiples valores.
Desafío
Escribe una función que devuelva la parte entera y el residuo después de dividir a entre b.
La entrada contiene dos enteros: a y b.
El programa debe imprimir 3 líneas (llamar a la función 3 veces). Cada línea debe contener la parte entera y el residuo después de la división de dos números:
La primera línea debe contener el resultado para a y b.
La segunda línea debe contener el resultado para a + 1 y b + 1.
La tercera línea debe contener el resultado para a - 1 y b - 1.