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

Trả lời Vận dụng trang 105 Tin học 11 sách Kết nối tri thức hay, chi tiết sẽ giúp học sinh dễ dàng làm bài tập Tin học 11.

1 148 lượt xem


Giải Tin học 11 Bài 22: Thực hành bài toán sắp xếp

Vận dụng trang 105 Tin học 11: 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.

Lời giải:

# Đọ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("-----")

1 148 lượt xem


Xem thêm các chương trình khác: