Explanation:
๐น 1️⃣ Initial Tuple Creation
t = (10, 20, 30)
A tuple with 3 elements is created.
Index positions:
Index Value
0 10
1 20
2 30
๐น 2️⃣ Loop Setup
for i in range(len(t)):
len(t) = 3
range(3) → generates: 0, 1, 2
Important: range(len(t)) is calculated once at the beginning.
Even if t changes inside the loop, the loop still runs 3 times only.
Iteration-by-Iteration Execution
๐น ๐ Iteration 1 (i = 0)
Current tuple:
(10, 20, 30)
Expression:
t = t[:0] + (t[0] + 0,) + t[1:]
Breaking it down:
t[:0] → () (empty tuple)
t[0] + 0 → 10 + 0 = 10
(10,) → single-element tuple
t[1:] → (20, 30)
New tuple:
() + (10,) + (20, 30)
= (10, 20, 30)
๐น ๐ Iteration 2 (i = 1)
Current tuple:
(10, 20, 30)
Expression:
t = t[:1] + (t[1] + 1,) + t[2:]
Breaking it down:
t[:1] → (10,)
t[1] + 1 → 20 + 1 = 21
(21,)
t[2:] → (30,)
New tuple:
(10,) + (21,) + (30,)
= (10, 21, 30)
๐น ๐ Iteration 3 (i = 2)
Current tuple:
(10, 21, 30)
⚠ Notice index 1 is already modified to 21.
Expression:
t = t[:2] + (t[2] + 2,) + t[3:]
Breaking it down:
t[:2] → (10, 21)
t[2] + 2 → 30 + 2 = 32
(32,)
t[3:] → () (empty)
New tuple:
(10, 21) + (32,) + ()
= (10, 21, 32)
๐ Final Output
print(t)
✅ Output:
(10, 21, 32)

0 Comments:
Post a Comment