Vários valores de retorno

Python é muito flexível ao lidar com funções e é possível retornar vários valores de uma função:
def f():
    return 107, 'hello', [8, 9, 10]

print(f())        # (107, 'hello', [8, 9, 10])
a, b, c = f()
print(a)          # 107
print(b)          # hello
print(c)          # [8, 9, 10]
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.
Entrada
Saída
7 4
1 3 1 3 2 0
 

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