Menu
CoddyTech

Thêm mặt hàng

Thuộc phần Logic và luồng chương trình trong hành trình GDScript của Coddy. Bài học 72 trên 78.

challenge icon

Thử thách

Dễ

Thêm lệnh add. Giữ lại mọi thứ bạn đã viết ở bước trước.

Một dòng như add Apple 0.5 100 thêm mặt hàng Apple với giá 0.5 và số lượng tồn kho là 100. Tên mặt hàng gồm một từ.

Đầu tiên, viết hàm add_item(inventory, item, price, stock) phía trên _ready():

  1. Nếu mặt hàng đã có trong inventory, in ra Error: Item 'Apple' already exists. (kèm tên mặt hàng) và không thay đổi gì
  2. Nếu không, lưu {"price": price, "stock": stock} dưới tên mặt hàng rồi in ra Item 'Apple' added successfully.

Sau đó, thêm một nhánh elif cho add trong vòng lặp. Kiểm tra dòng lệnh trước khi gọi hàm:

  • Nếu dòng đó không có đúng 4 phần, in ra Error: Use add ITEM PRICE STOCK
  • Nếu giá không phải là một con số hoặc số lượng tồn kho không phải là số nguyên, in ra Error: Price and stock must be numeric.
  • Nếu không, gọi add_item() với giá đã chuyển đổi sang float và số lượng tồn kho đã chuyển đổi sang int

Với các lệnh add Apple 0.5 100, add Banana 0.2 50, add Apple 0.6 30, show và exit, đầu ra là:

Inventory Management System
Item 'Apple' added successfully.
Item 'Banana' added successfully.
Error: Item 'Apple' already exists.
{ "Apple": { "price": 0.5, "stock": 100 }, "Banana": { "price": 0.2, "stock": 50 } }
Goodbye!

Tự làm thử

extends Node

func _ready():
	# Biến inventory: tên mặt hàng -> {"price": float, "stock": int}
	var inventory := {}
	print("Inventory Management System")

	while true:
		var line := OS.read_string_from_stdin()
		var parts := line.split(" ")
		var command := parts[0]

		if command == "exit":
			print("Goodbye!")
			break
		elif command == "show":
			print(inventory)
		else:
			print("Unknown command")

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch GDScript online