Câu hỏi:

11/07/2024 433

Một người đi mua hàng với danh sách các mặt hàng cần mua, đơn giá từng mặt hàng và số lượng hàng cần mua được lưu trong tệp văn bản muahang.inp. Hãy sử dụng thuật toán nỗi bọt để sắp xếp các mặt hàng theo thứ tự thành tiền của các mặt hàng tăng dần rồi in ra tên các mặt hàng và thành tiền tương ứng.

Sách mới 2k7: Bộ 20 đề minh họa Toán, Lí, Hóa, Văn, Sử, Địa…. form chuẩn 2025 của Bộ giáo dục (chỉ từ 49k/cuốn).

Đề toán-lý-hóa Đề văn-sử-địa Tiếng anh & các môn khác

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

# Đọc dữ liệu từ file muahang.inp

with open('muahang.inp', 'r') as file:

    lines = file.readlines()

    mat_hangs = []

    for line in lines:

        data = line.strip().split(',')

        ten = data[0]

        don_gia = float(data[1])

        so_luong = int(data[2])

        thanh_tien = don_gia * so_luong

        mat_hangs.append((ten, thanh_tien))

# Sắp xếp danh sách các mặt hàng theo thứ tự thành tiền tăng dần

n = len(mat_hangs)

for i in range(n - 1):

    for j in range(0, n - i - 1):

        if mat_hangs[j][1] > mat_hangs[j + 1][1]:

            mat_hangs[j], mat_hangs[j + 1] = mat_hangs[j + 1], mat_hangs[j]

# In danh sách các mặt hàng và thành tiền tương ứng ra màn hình

print("Danh sách các mặt hàng và thành tiền tương ứng:")

for mat_hang in mat_hangs:

    print("Tên mặt hàng: ", mat_hang[0])

    print("Thành tiền: ", mat_hang[1])

    print("-----")

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

Sử dụng thuật toán sắp xếp chọn viết lại chương trình trong Nhiệm vụ 1.

Xem đáp án » 13/07/2024 194

Câu 2:

Trong bài 21, em đã được học cách triển khai thuật toán sắp xếp để sắp xếp các phần tử trong danh sách theo thứ tự tăng dần. Nếu cần sắp xếp theo thứ tự ngược lại thì câu lệnh so sánh tương ứng trong vòng lặp sẽ cần thay đổi như thế nào?

Xem đáp án » 20/04/2023 191

Câu 3:

Sử dụng thuật toán sắp xếp nổi bọt viết lại chương trình trong Nhiệm vụ 2.

Xem đáp án » 11/07/2024 179

Bình luận


Bình luận