Last answered:

05 Aug 2022

Posted on:

03 Aug 2022


Resolved: Questions about the transformation function

On the line:

a,b = trans((a,b))

I understand that the p becomes (a,b), but what happens next?
Ler's say we take trans_3.  Can someone explains what happens inside the function when we call trans_3((a,b))?

2 answers ( 1 marked as helpful)
Posted on:

04 Aug 2022


Hey Bondan,

Thank you for your question!

Let me suggest a modification to the code, where I have included 3 print-statements on lines 6, 14, 22, and 37.
Then, let's study the for-loop on lines 31-35, where I have reduced the number of iterations to 3.
On line 32, we assign the variable trans one of the 3 functions - trans_1, trans_2, or trans_3. From the output, we can see that the choice during the first iteration was trans_3. On line 33, we modify the integers a and b using the function trans_3. What happens in this function is the following:
1. The variable p represents the tuple (a, b)
2. Line 18 - x equals the first item in p, namely a
3. Line 19 - y equals the second item in p, namely b
4. Line 20 - x1 is computed according to Transformation 3, using variable x
5. Line 21 - y1 is computed according to Transformation 3, using variable y
6. Line 23 - the function returns the variables x1 and y1 in a tuple
Going back to line 33, variable a is assigned the value x1 while variable b is assigned the value y1. These are then appended to the lists a1 and b1, respectively.
Then, the second iteration comes, where, this time, the function trans_1 is chosen. The whole procedure from above repeats.
Finally, trans_3 is chosen again during the third iteration.

Hope this helps!

Kind regards,
365 Hristina

Posted on:

05 Aug 2022


Oh I get it now! It's like calling multiple items wtih one variable. Thank you for the answer Hristina

Submit an answer