In this example, f() function returns 3 values (107, 'hello', and [8, 9, 10]). We can assign each returned value to a variable with a, b, c = f().
The most interesting part is that there is no magic in returning several values. What the function f() does is actually return a single value - a tuple that has 3 elements (107, 'hello', and [8, 9, 10]). When printing the whole returned value with print(f()), we can see that the returned value is actually a tuple (note the parentheses). When a function returns a tuple, we just unpack the values into a, b, and c.
So, in reality, the functions always return a single value - but we can interpret returning a tuple as returning multiple values.
Challenge
Write a function that would return the whole part and the remainder after dividing a by b.
The input contains two integers - a and b.
The program should print 3 lines (call the function 3 times). Each line should contain the whole part after and the remainder after the division of two numbers:
The first line should contain the result for a and b.
The second line should contain the result for a + 1 and b + 1.
The third line should contain the result for a - 1 and b - 1.