Nên mua gì
Thuộc phần Kiến thức nền tảng trong hành trình Ruby của Coddy. Bài học 88 trên 88.
Thử thách
DễĐọc danh sách mua sắm và hàng tồn kho của cửa hàng từ đầu vào, sau đó xác định những mặt hàng nào có thể mua.
Bạn sẽ nhận được:
- Dòng đầu tiên: tên các mặt hàng trong danh sách mua sắm, được phân tách bằng dấu phẩy
- Dòng thứ hai: số lượng mặt hàng trong kho của cửa hàng
- Các dòng tiếp theo: mỗi dòng chứa tên một mặt hàng và số lượng, được phân tách bằng dấu phẩy
Ví dụ, đầu vào hàng tồn kho apples,5 có nghĩa là cửa hàng còn 5 quả táo.
Với mỗi mặt hàng trong danh sách mua sắm, hãy in tên mặt hàng, theo sau là - Yes nếu có thể mua, hoặc - No nếu không thể mua.
Có thể mua một mặt hàng nếu:
- Mặt hàng đó có trong hàng tồn kho của cửa hàng VÀ
- Số lượng của mặt hàng đó lớn hơn 0
Nếu mặt hàng hoàn toàn không có trong hàng tồn kho hoặc có số lượng bằng 0, hãy in No.
Ví dụ, nếu đầu vào là:
apples,bread,milk
3
apples,5
bread,0
milk,3Đầu ra sẽ là:
apples - Yes
bread - No
milk - YesNếu đầu vào là:
eggs,butter,cheese,yogurt
2
eggs,12
cheese,0Đầu ra sẽ là:
eggs - Yes
butter - No
cheese - No
yogurt - NoNếu đầu vào là:
water
1
water,100Đầu ra sẽ là:
water - YesTự làm thử
# Đọc danh sách mua sắm (các mặt hàng cách nhau bằng dấu phẩy)
shopping_list = gets.chomp.split(',')
# Đọc số lượng mặt hàng trong kho
n = gets.to_i
# Đọc danh sách hàng tồn kho của cửa hàng
inventory = {}
n.times do
line = gets.chomp.split(',')
item_name = line[0]
quantity = line[1].to_i
inventory[item_name] = quantity
end
# TODO: Viết code của bạn bên dưới
# Với mỗi mặt hàng trong danh sách mua sắm, kiểm tra xem có thể mua được không
# Có thể mua một mặt hàng nếu mặt hàng đó có trong inventory VÀ có quantity > 0
# In ra "item_name - Yes" hoặc "item_name - No" cho mỗi mặt hàngTất cả bài học trong Kiến thức nền tảng
4Toán tử phần 2
Toán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Toán tử logic phần 42Biến và kiểu dữ liệu
Số và biếnKiểu dữ liệu chuỗiKiểu dữ liệu BooleanKiểu dữ liệu SymbolKiểm tra kiểu dữ liệuQuy ước đặt tênÔn tập: tạo biến8Vòng lặp
Vòng lặp for với khoảng giá trịVòng lặp whileThoátTiếp tụcÔn tập: giai thừaVòng lặp timesVòng lặp untilVòng lặp lồng nhauÔn tập: đầu vào động3Toán tử phần 1
Toán tử số họcToán tử moduloPhép tính số học rút gọnÔn tập: Toán cơ bảnToán tử so sánh6Nhập xuất cơ bản
In ra bằng putsIn ra bằng print và pIn ra bằng biếnNhập dữ liệu bằng getsPhương thức chompChuyển đổi kiểu dữ liệuÔn tập: Tính tuổiÔn tập: Đúng hay sai9Phương thức
Định nghĩa phương thứcTham số phương thứcGiá trị trả vềÔn tập: phương thức SigmaÔn tập: phương thức xác thựcGiá trị tham số mặc định15Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát chương trìnhTự luyện tập: Trình biên dịch Ruby online