Ôn tập: từ điển sản phẩm
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 77 trên 88.
Thử thách
DễĐọc bốn dòng đầu vào:
- Tên sản phẩm (chuỗi)
- Giá ban đầu (số thực)
- Giá mới cần cập nhật (số thực)
- Số lượng cần thêm dưới dạng một cặp khóa-giá trị mới (số nguyên)
Tạo một hash tên là product với các cặp khóa-giá trị ban đầu sau:
"name"ứng với tên sản phẩm"price"ứng với giá ban đầu (dưới dạng số thực)
Sau đó, thực hiện lần lượt các thao tác sau:
- In tên sản phẩm bằng cách truy cập khóa
"name" - Cập nhật khóa
"price"bằng giá mới - Thêm khóa mới
"quantity"với giá trị số lượng (dưới dạng số nguyên) - Kiểm tra xem khóa
"quantity"có tồn tại không và in kết quả (truehoặcfalse) - In tổng số cặp khóa-giá trị trong hash
- In hash cuối cùng
Ví dụ: nếu đầu vào là Laptop, 999.99, 899.99 và 50, đầu ra sẽ là:
Laptop
true
3
{"name"=>"Laptop", "price"=>899.99, "quantity"=>50}Nếu đầu vào là Keyboard, 75.0, 59.99 và 100, đầu ra sẽ là:
Keyboard
true
3
{"name"=>"Keyboard", "price"=>59.99, "quantity"=>100}Nếu đầu vào là Mouse, 29.99, 24.99 và 200, đầu ra sẽ là:
Mouse
true
3
{"name"=>"Mouse", "price"=>24.99, "quantity"=>200}Tự làm thử
# Đọc đầu vào
product_name = gets.chomp
initial_price = gets.chomp.to_f
new_price = gets.chomp.to_f
quantity = gets.chomp.to_i
# TODO: Viết code bên dưới
# 1. Tạo một hash tên là 'product' với các khóa "name" và "price"
# 2. Truy cập khóa "name" để in ra tên sản phẩm
# 3. Cập nhật khóa "price" bằng giá mới
# 4. Thêm khóa mới "quantity" với giá trị là số lượng
# 5. Kiểm tra khóa "quantity" có tồn tại không và in ra kết quả
# 6. In ra tổng số cặp khóa-giá trị
# 7. In ra hash cuối cù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 động11Mảng
Tạo mảngTruy cập phần tử trong mảngThay đổi mảngPhương thức của mảngÔn tập: Mảng tíchÔn tập: Mảng đảo ngượcMẹo dùng mảng14Từ điển
Tạo từ điểnTruy cập phần tử trong từ điểnChỉnh sửa từ điểnPhương thức của từ điểnÔn tập: từ điển sản phẩmDùng symbol làm khóa trong từ điển3Toá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