Sửa giúp code Python bị lỗi index out of range

em code lại Liệt kê các tập con k phần tử của tập n bằng hàm sinh giờ chạy bị lỗi index out of range code đây

n = int(input("nhap n: "))
k = int(input("nhap k: "))
arr = []


def init():
    for i in range(k):
        arr.append(i)
    return arr


def result():
    for i in range(k):
        print arr[i]
    print "\n"


def nextCombine():
    i = k
    while (i>0 and arr[i] == n - k + i):
        i = i - 1
    if i >0:
        arr[i] = arr[i] + 1
        for j in range(i + 1, k):
            arr[j] = arr[j] + j - i
    else:
        stop = True


def combine():
    stop = False
    while (stop == False):
        result()
        nextCombine()


if __name__ == '__main__':
    init()
    combine()

Dùng từ khoá global với arr hoặc truyền arr qua tham số của hàm

1 Like

vẫn lỗi bác ơi :joy:

Cả cái stop nữa…

Thực ra bài của bạn nên sửa bằng cách dùng tham số, chứ viết như vậy rất dễ bị lộn và mất kiểm soát.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?