Найти - Пользователи
Полная версия: Помогите пожалуйста найти ошибку!
Начало » Python для новичков » Помогите пожалуйста найти ошибку!
1
kolyacher
Вот этот код работает верно
 a=[int(i) for i in input().split()]
k=len(a)
b=[]
b.append(a)
for j in range(k-1):
    a=[int(i) for i in input().split()]
    b.append(a)
s = [[0,0,0],[0,0,0],[0,0,0]]
for i in range(k):
    for j in range(k):
        for t in range(k):
            if t!=j:
                s[i][j]+=b[i][t]
            if t!=i:
                s[i][j]+=b[t][j]
print(s)
Но стоит только строку
 s = [[0,0,0],[0,0,0],[0,0,0]]
заменить на генератор
  s=[[0]*k]*k
Строки получаются одинаковыми… 8)
Скажите пожалуйста, что я делаю не так???
py.user.next
  
>>> lst = [[0] * 3 for _ in range(4)]
>>> lst
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> lst[0][0] = 1
>>> lst
[[1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>>
kolyacher
Спасибо! При такой генерации списка программа работает корректно!!! Можно закрывать тему.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB