Câu hỏi:
11/07/2024 544Mộ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.
Quảng cáo
Trả lờ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("-----")
Hot: Học hè online Toán, Văn, Anh...lớp 1-12 tại Vietjack với hơn 1 triệu bài tập có đáp án. Học ngay
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Lời giải
def selection_sort(arr):
for i in range(len(arr) - 1):
min_idx = i
for j in range(i + 1, len(arr)):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
# Đọc dữ liệu từ file kho.inp
with open('kho.inp', 'r') as file:
lines = file.readlines()
quantities = [int(line.strip()) for line in lines]
# Sắp xếp danh sách số lượng các mặt hàng theo thứ tự tăng dần
selection_sort(quantities)
# In danh sách số lượng các mặt hàng đã được sắp xếp ra màn hình
print("Danh sách số lượng các mặt hàng sau khi sắp xếp:")
for quantity in quantities:
print(quantity)
Lời giải
Nếu muốn sắp xếp danh sách theo thứ tự giảm dần thay vì thứ tự tăng dần, ta cần thay đổi câu lệnh so sánh trong vòng lặp của thuật toán sắp xếp. Cụ thể, cần đảo ngược dấu so sánh.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Bộ 4 đề thi cuối học kì 2 Tin 11 Kết nối tri thức có đáp án (Đề 1)
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 25 có đáp án
Bộ 4 đề thi cuối học kì 2 Tin 11 Kết nối tri thức có đáp án (Đề 2)
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 26 có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27 có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 28 có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 1: Một số thao tác chỉnh sửa ảnh và hỗ trợ chỉnh sửa ảnh có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24 có đáp án
Hãy Đăng nhập hoặc Tạo tài khoản để gửi bình luận