Не понимаю почему появляется такой ответ
a=[[a*b*c] for a in range(2) for b in range(2) for c in range(2)];print(a)
ответ:
[[0], [0], [0], [0], [0], [0], [0], [1]]
Ответы (1 шт):
Автор решения: Amgarak
→ Ссылка
range(2) -> 0 и 1 -> 2 * 2 * 2 = 8 списков.
При умножении на 0 получаем 0
a = 0, b = 0, c = 0 -> [0]
a = 0, b = 0, c = 1 -> [0]
a = 0, b = 1, c = 0 -> [0]
a = 0, b = 1, c = 1 -> [0]
a = 1, b = 0, c = 0 -> [0]
a = 1, b = 0, c = 1 -> [0]
a = 1, b = 1, c = 0 -> [0]
a = 1, b = 1, c = 1 -> [1]
Вроде все логично?
Думаю так будет понятней:
for a in range(2):
for b in range(2):
for c in range(2):
print(a, b, c)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
[Program finished]