买什么
本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 88 课,共 88 课。
挑战
简单从输入中读取购物清单和商店库存,然后判断哪些商品可以买。
你会收到:
- 第一行:用逗号分隔的商品名称,表示你的购物清单
- 第二行:商店库存中的商品数量
- 后续各行:每行包含一个商品名称和数量,两者用逗号分隔
例如,库存输入 apples,5 表示商店有 5 个苹果。
对于购物清单中的每件商品,如果可以买,就输出商品名称,后跟 - Yes;如果不能买,就输出商品名称,后跟 - No。
商品符合以下条件时可以买:
- 商品存在于商店库存中,并且
- 商品数量大于 0
如果商品完全不在库存中,或者数量为 0,就输出 No。
例如,如果输入为:
apples,bread,milk
3
apples,5
bread,0
milk,3输出应为:
apples - Yes
bread - No
milk - Yes如果输入为:
eggs,butter,cheese,yogurt
2
eggs,12
cheese,0输出应为:
eggs - Yes
butter - No
cheese - No
yogurt - No如果输入为:
water
1
water,100输出应为:
water - Yes亲手试试
# 读取购物清单(商品之间用逗号分隔)
shopping_list = gets.chomp.split(',')
# 读取库存商品的数量
n = gets.to_i
# 读取商店库存
inventory = {}
n.times do
line = gets.chomp.split(',')
item_name = line[0]
quantity = line[1].to_i
inventory[item_name] = quantity
end
# TODO:在下方编写你的代码
# 检查购物清单中的每件商品是否可以买到
# 如果商品存在于 inventory 中,且 quantity > 0,就可以买到
# 为每件商品输出 "item_name - Yes" 或 "item_name - No"基础知识中的所有课
自己练习: Ruby 在线编译器