Тема: Не зрозумів жарту
def game(x, a, b):
count1, count2, xsum = 0, 0, 0
a2 = a
b2 = b
print(a2, b2)
while(xsum + b[0] <= x):
if a != [] and (xsum + a[0]) <= x:
xsum += a.pop(0)
elif b != []:
xsum += b.pop(0)
count1 += 1
print(a2, b2)
xsum = 0
while(xsum + a2[0] <= x):
if b2 != [] and (xsum + b2[0]) <= x:
xsum += b2.pop(0)
elif a2 != []:
xsum += a2.pop(0)
count2 += 1
return max(count1, count2)
x = 10
a = [4, 2, 4, 6, 1]
b = [2, 1, 8, 5]
Не розумію чому змінні a2 і b2 змінюють свої значення після першого циклу, адже вони там жодним чином не використовуються. І тут немає рекурсії. Чи це якась особливість виконання циклу while?