Code ide không báo lỗi mà khi mở file maxsubseq.out là file output lại trống

lines = open("maxsubseq.inp").readlines()
B=map(lambda x: int(x), lines[1].split(' '))
n=B[0]
l1=B[1]
l2=B[2]
lines = open("maxsubseq.inp").readlines()
A=map(lambda x: int(x), lines[2].split(' '))

def tinhtrongso(A, n, l):
    lonnhat = 0
    t = 0
    for j in range(0, l - 1 + 1):
        t = t + A[j]
    lonnhat = t
    for i in range(0, n - l + 1):
        t = 0
        j = i
        for j in range(0, l - 1 + i + 1):
            t = t + A[j]
        if (t > lonnhat):
            lonnhat = t
    return lonnhat


def tongtrongsocucdai(A, n, l1, l2):
    lonnhat = tinhtrongso(A, n, l1)
    i = l1 + 1
    for i in range(0, l2 + 1):
        tinhtrongso(A, n, i)
        if (lonnhat < tinhtrongso(A, n, i)):
            lonnhat = tinhtrongso(A, n, i)
    return lonnhat


a = tongtrongsocucdai(A, n, l1, l2)
file = open("maxsubsuq.out.txt", "wb")
file.write(str(a))

In kết quả ra màn hình trước.
Nếu ra kết quả đúng => sai trong việc ghi file, còn không thì sai các hàm ở trên.

1 Like

Chưa close file kìa =))

Chuẩn rồi, close file thì dữ liệu trên buffer mới được đẩy vào ổ cứng.
Ngoài ra còn một cách nữa là bạn không lưu file vào biến:

open('filename', 'w').write('text')

Khi file không còn được tham chiếu thì garbage collector sẽ tự động close nó.

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