Странный вывод в Python 3.6 - PullRequest
       13

Странный вывод в Python 3.6

0 голосов
/ 25 октября 2019

Я сделал программу:

k = int(input())
n = int(input())
row = []
arr = []
quantity = 0

for i in range(k):
    row.append(1)

for i1 in range(k ** k):
    arr.append(row)
    for i in range(len(row)):
        if row[i] + 1 <= k:
            row[i] += 1
            break
        else:
            row[i] = 1
print(arr)

И когда я ее запускаю, я вижу что-то странное в выводе:

[[1,1],[1,1],[1,1],[1,1]]

Почему это так?

1 Ответ

0 голосов
/ 25 октября 2019

Это нормально работает

    k = int(input())
    n = int(input())
    row = []
    arr = []
    quantity = 0

    for i in range(k):
        row.append(1)

    for i1 in range(k ** k):
        arr.append(row[::])

        for i in range(len(row)):
            if row[i] + 1 <= k:
                row[i] += 1
                break
            else:
                row[i] = 1
    print(arr)
...