Chữa bài Shopping Cart cho Ngọc Hà

Dưới đây là mã nguồn của file shopcartw8.py và phân tích các lỗi có trong đó:


# Tạo danh sách shoplist = ["Clothes, shoes, vegetabl, meat, dairy"] # In menu while True: print("=======SHOPPING CART========") print("1: List of product") print("2: Your cart") print("3: Chose your product") print("4: Remove product from cart") print("5: Exit") if choice == "1": print("=========MENU========") for index, item in enumerate(shoplist): print(f"{index + 1}. {item}") print("====================") # choice = input("Pick an option[1-5]: ") # if choice == "1": # print("========MENU========") # for index, item in enumerate(shoplist): # print(f"{index + 1}. {item}") # print("=================")

Các lỗi sai trong mã nguồn này:

  1. Biến choice chưa được khởi tạo: Biến choice được sử dụng trong các câu lệnh điều kiện nhưng không được khởi tạo hoặc gán giá trị từ đâu trong đoạn mã. Biến này nên được khởi tạo thông qua nhập từ người dùng.

  2. Danh sách sản phẩm (shoplist) không đúng định dạng: Danh sách shoplist chỉ chứa một chuỗi dài thay vì từng phần tử riêng biệt. Nên thay đổi thành: shoplist = ["Clothes", "shoes", "vegetables", "meat", "dairy"]

  3. Cần thêm lệnh nhập cho người dùng: Phần nhập từ người dùng (dòng bị chú thích) cần được kích hoạt và đặt vào đúng vị trí để mã có thể chạy đúng.

  4. Lệnh break để thoát khỏi vòng lặp: Trong lựa chọn 5 (Exit), nên có lệnh break để thoát khỏi vòng lặp vô tận.

Dưới đây là mã đã được sửa lỗi:


# Tạo danh sách shoplist = ["Clothes", "shoes", "vegetables", "meat", "dairy"] # In menu while True: print("=======SHOPPING CART========") print("1: List of product") print("2: Your cart") print("3: Choose your product") print("4: Remove product from cart") print("5: Exit") choice = input("Pick an option [1-5]: ") if choice == "1": print("=========MENU========") for index, item in enumerate(shoplist): print(f"{index + 1}. {item}") print("====================") elif choice == "5": print("Exiting...") break else: print("Invalid choice, please try again.")

Các sửa lỗi đã được thực hiện:

  1. Khởi tạo biến choice bằng cách nhận đầu vào từ người dùng.
  2. Chỉnh sửa danh sách shoplist để từng sản phẩm là một phần tử riêng biệt.
  3. Bỏ chú thích dòng nhập và đặt nó vào đúng vị trí.
  4. Thêm lệnh break để thoát khỏi vòng lặp khi người dùng chọn thoát.

Đăng nhận xét

Mới hơn Cũ hơn