Mehrere Rückgabewerte

Python ist sehr flexibel im Umgang mit Funktionen, und es ist möglich, mehrere Werte von einer Funktion zurückzugeben:
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 diesem Beispiel gibt die Funktion f() 3 Werte zurück (107, 'hello' und [8, 9, 10]). Wir können jedem zurückgegebenen Wert eine Variable zuweisen mit a, b, c = f().
Das Interessante daran ist, dass es kein Zauber ist, mehrere Werte zurückzugeben. Was die Funktion f() tatsächlich tut, ist, einen einzelnen Wert zurückzugeben – ein Tupel mit 3 Elementen (107, 'hello' und [8, 9, 10]). Wenn wir den gesamten zurückgegebenen Wert mit print(f()) ausgeben, sehen wir, dass der zurückgegebene Wert tatsächlich ein Tupel ist (achte auf die Klammern). Wenn eine Funktion ein Tupel zurückgibt, entpacken wir einfach die Werte in a, b und c.
In Wirklichkeit geben Funktionen also immer einen einzelnen Wert zurück – aber wir können das Zurückgeben eines Tupels als das Zurückgeben mehrerer Werte interpretieren.

Herausforderung

Schreibe eine Funktion, die den ganzzahligen Anteil und den Rest nach der Division von a durch b zurückgibt.
Die Eingabe enthält zwei Ganzzahlen – a und b.
Das Programm soll 3 Zeilen ausgeben (rufe die Funktion 3-mal auf). Jede Zeile sollte den ganzzahligen Anteil und den Rest nach der Division von zwei Zahlen enthalten:
  • Die erste Zeile sollte das Ergebnis für a und b enthalten.
  • Die zweite Zeile sollte das Ergebnis für a + 1 und b + 1 enthalten.
  • Die dritte Zeile sollte das Ergebnis für a - 1 und b - 1 enthalten.
Eingabe
Ausgabe
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