C++读取文件数据后,如何根据ID查询并展示商品价格的2倍值
嘿,这个需求很清晰,我用Python来给你实现一个靠谱的方案吧,步骤和代码都给你写明白~
首先咱们先理清楚文件的结构:每三个连续的元素对应一个商品的ID、名称、价格,所以我们需要先把文件内容按这个规则拆分,然后找到目标ID的商品进行计算。
实现方案(Python)
下面是完整的实现代码,带详细注释:
# 1. 读取文件内容 try: with open('products.txt', 'r') as file: # 读取后去除首尾空白,再按空格分割成列表 content_list = file.read().strip().split() except FileNotFoundError: print("错误:未找到products.txt文件,请检查文件路径是否正确!") exit() # 2. 解析数据,将商品信息存入字典(键为商品ID,值为包含名称和价格的字典) product_dict = {} # 每3个元素为一组,遍历处理 for idx in range(0, len(content_list), 3): # 转换ID为整数,价格为浮点数 product_id = int(content_list[idx]) product_name = content_list[idx+1] product_price = float(content_list[idx+2]) product_dict[product_id] = { 'name': product_name, 'price': product_price } # 3. 查找ID为2的商品并计算价格乘以2的结果 target_id = 2 if target_id in product_dict: target_product = product_dict[target_id] doubled_price = target_product['price'] * 2 # 友好输出结果 print(f"✅ 找到商品:ID={target_id},名称={target_product['name']}") print(f"该商品价格乘以2后的结果为:{doubled_price}") else: print(f"❌ 未找到ID为{target_id}的商品,请检查文件内容是否正确!")
代码说明:
- 用
with open读取文件是最安全的方式,会自动关闭文件句柄,避免资源泄漏 - 加入了异常处理,比如文件不存在的情况,避免程序直接崩溃
- 把商品信息存入字典后,查找目标ID的时间复杂度是O(1),效率很高
- 输出结果清晰,方便快速查看
运行这段代码后,针对你给出的文件内容,会输出:
✅ 找到商品:ID=2,名称=CocaCola
该商品价格乘以2后的结果为:5.0
内容的提问来源于stack exchange,提问作者Niku Nik
相关产品推荐
相关产品推荐

