Neste exemplo, a função f() retorna 3 valores (107, 'hello' e [8, 9, 10]). Podemos atribuir cada valor retornado a uma variável com a, b, c = f().
A parte mais interessante é que não há mágica em retornar vários valores. O que a função f() faz, na verdade, é retornar um único valor – uma tupla que possui 3 elementos (107, 'hello' e [8, 9, 10]). Ao imprimir todo o valor retornado com print(f()), podemos ver que o valor retornado é realmente uma tupla (note os parênteses). Quando uma função retorna uma tupla, simplesmente desempacotamos os valores em a, b e c.
Então, na realidade, as funções sempre retornam um único valor – mas podemos interpretar o retorno de uma tupla como o retorno de múltiplos valores.
Desafio
Escreva uma função que retorne a parte inteira e o resto após dividir a por b.
A entrada contém dois inteiros – a e b.
O programa deve imprimir 3 linhas (chamar a função 3 vezes). Cada linha deve conter a parte inteira e o resto após a divisão de dois números:
A primeira linha deve conter o resultado para a e b.
A segunda linha deve conter o resultado para a + 1 e b + 1.
A terceira linha deve conter o resultado para a - 1 e b - 1.