Valori di ritorno multipli

Python è molto flessibile quando si tratta di funzioni ed è possibile restituire diversi valori da una funzione:
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]
In questo esempio, la funzione f() restituisce 3 valori (107, 'hello' e [8, 9, 10]). Possiamo assegnare ciascun valore restituito a una variabile con a, b, c = f().
La parte più interessante è che non c'è nessuna magia nel restituire diversi valori. Quello che la funzione f() fa in realtà è restituire un singolo valore: una tupla che ha 3 elementi (107, 'hello' e [8, 9, 10]). Quando stampiamo l'intero valore restituito con print(f()), possiamo vedere che il valore restituito è effettivamente una tupla (nota le parentesi). Quando una funzione restituisce una tupla, possiamo semplicemente decomporre i valori in a, b e c.
Quindi, in realtà, le funzioni restituiscono sempre un singolo valore, ma possiamo interpretare la restituzione di una tupla come la restituzione di valori multipli.

Sfida

Scrivi una funzione che restituisca la parte intera e il resto dopo aver diviso a per b.
L'input contiene due interi: a e b.
Il programma dovrebbe stampare 3 righe (chiama la funzione 3 volte). Ogni riga dovrebbe contenere la parte intera e il resto dopo la divisione di due numeri:
  • La prima riga dovrebbe contenere il risultato per a e b.
  • La seconda riga dovrebbe contenere il risultato per a + 1 e b + 1.
  • La terza riga dovrebbe contenere il risultato per a - 1 e b - 1.
Input
Output
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