Python如何读取文本文件数据并计算库存总价值及最高价值商品
代码调整实现方案
你只需要新增最高价值商品的追踪逻辑即可,调整步骤如下:
- 在遍历商品的循环外,新增两个变量分别记录当前最高商品价值和对应的商品名
- 每次计算完单个商品的总价值后,和当前记录的最高价值对比,若更高则更新记录
- 最后输出最高价值商品的信息即可
调整后的完整代码
filename = "store.txt" with open(filename) as f: content = f.read().splitlines() # 按每3行拆分一个商品的信息 content_list = [content[i * 3:(i + 1) * 3] for i in range((len(content) + 3 - 1) // 3)] total_value = 0 # 新增:初始化最高价值和对应商品名 max_val = 0 max_item = "" for items in content_list: name = items[0].strip() quantity = int(items[1].strip()) price = float(items[2].strip()) current_val = quantity * price # 输出格式调整为和预期一致 print(f"{quantity} {name} at {price} the unit. total value: {current_val}") total_value += current_val # 对比更新最高价值商品 if current_val > max_val: max_val = current_val max_item = name print('') print(f'total inventory value: {total_value}') print(f'most valuable inventory: {max_item}: {max_val}')
补充说明
如果存在多个商品总价值相同且都是最高的情况,上述代码会返回第一个出现的最高价值商品,如果你需要返回所有最高价值商品,只需要把max_item改成列表类型,当价值等于max_val时往列表里追加商品名即可。
内容的提问来源于stack exchange,提问作者Yacer Saoud
相关产品推荐
相关产品推荐

