Учу python, хотел выполнить задачу
https://stepik.org/lesson/3369/step/10?unit=952 Написал вот этот код
l = []
while True :
b = input()
if b == 'end':
break
else:
l.append(int(i) for i in b.split())
new_l = list(l)
for i in range(len(l)):
for b in range(len(int(l[i]))):
if i + 1 == len(l):
if b + 1 == len(l[i]):
summa = l[i - 1][b] + l[0][b] + l[i][b - 1] + l[i][0]
new_l[i][b] = summa
else:
summa = l[i - 1][b] + l[0][b] + l[i][b - 1] + l[i][b + 1]
new_l[i][b] = summa
else:
if b + 1 == len(l[i]):
summa = l[i - 1][b] + l[i + 1][b] + l[i][b - 1] + l[i][0]
new_l[i][b] = summa
else:
summa = l[i - 1][b] + l[i + 1][b] + l[i][b - 1] + l[i][b + 1]
new_l[i][b] = summa
for i in new_l:
for b in i:
print(b, end='')
print()
Но консоль выводит
Traceback (most recent call last):
File "jailed_code", line 10, in
for b in range(len(l[i])):
TypeError: object of type 'generator' has no len()
Почему он думает, что l[i] это генератор, ведь это обычный массив внутри массива l. Не так ли? И что это за тип такой интересный generator?