Valeurs de retour multiples

Python est très flexible lorsqu'il s'agit des fonctions et il est possible de retourner plusieurs valeurs à partir d'une fonction :
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]
Dans cet exemple, la fonction f() retourne 3 valeurs (107, 'hello' et [8, 9, 10]). Nous pouvons assigner chaque valeur retournée à une variable avec a, b, c = f().
La partie la plus intéressante est qu'il n'y a pas de magie à retourner plusieurs valeurs. En fait, la fonction f() retourne une seule valeur — un tuple qui contient 3 éléments (107, 'hello' et [8, 9, 10]). En affichant la valeur retournée entière avec print(f()), nous pouvons voir que la valeur retournée est en réalité un tuple (notez les parenthèses). Lorsqu'une fonction retourne un tuple, nous décompressons simplement les valeurs dans a, b et c.
Ainsi, en réalité, les fonctions retournent toujours une seule valeur — mais nous pouvons interpréter le retour d'un tuple comme le retour de multiples valeurs.

Défi

Écrivez une fonction qui retourne la partie entière et le reste après la division de a par b.
L'entrée contient deux entiers — a et b.
Le programme doit imprimer 3 lignes (appeler la fonction 3 fois). Chaque ligne doit contenir la partie entière et le reste après la division de deux nombres :
  • La première ligne doit contenir le résultat pour a et b.
  • La deuxième ligne doit contenir le résultat pour a + 1 et b + 1.
  • La troisième ligne doit contenir le résultat pour a - 1 et b - 1.
Entrée
Sortie
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