首页 > 解决方案 > 在混合列表中查找最高值,然后返回项目名称和项目名称 + VAT%

问题描述

对于我的大学工作,我需要从另一个 python 文件中导入一个列表,然后从中获取一个值。该列表类似于名称、尺寸、价格、增值税率。我们不允许更改列表或导入除 python 文件(包含其他值的负载)以外的任何内容

从这个列表中,我需要找到最高值并返回项目名称以及打印带有附加增值税的值。我想过找到最高的数值,找出百分比(还不确定如何),然后返回 2 个值来找到名称,但我不知道如何编码。我环顾四周,找不到任何解决方案。如果可能的话,我将不胜感激!

sweetshop_array = [ "Innocent Orange Juice Smooth", "1.35L", 3.2, 0,
"Tropicana Orange Juice Original", "0.95L", 2.48, 0,
"Growers Harvest Pure Apple Juice", "1L", 0.69, 0,
"Innocent Coconut Water", "1L", 3.69, 0,
"Sensations Thai Sweet Chilli Crisps", "150G", 1.0, 0.2,
"Popchips Original Popped Chips", "85G", 1.85, 0.2,
"Pringles Salt & Vinegar Crisps", "200G", 2.5, 0.2,
"Kettle Chips Lightly Salted Crisps", "150G", 1.99, 0.2 ]

标签: python

解决方案


如果我没有弄错,应该可以工作:

sweetshop_array = [ "Innocent Orange Juice Smooth", "1.35L", 3.2, 0,
"Tropicana Orange Juice Original", "0.95L", 2.48, 0,
"Growers Harvest Pure Apple Juice", "1L", 0.69, 0,
"Innocent Coconut Water", "1L", 3.69, 0,
"Sensations Thai Sweet Chilli Crisps", "150G", 1.0, 0.2,
"Popchips Original Popped Chips", "85G", 1.85, 0.2,
"Pringles Salt & Vinegar Crisps", "200G", 2.5, 0.2,
"Kettle Chips Lightly Salted Crisps", "150G", 1.99, 0.2 ]

max_value = ['name','size',0,0]

for index in range(0,len(sweetshop_array),4):
    name = sweetshop_array[index]
    size = sweetshop_array[index+1]
    price = sweetshop_array[index+2]
    vat_rate = sweetshop_array[index+3]
    max_value = [name, size, price, vat_rate] if price > max_value[2] else max_value

max_value_name = max_value[0]
max_value_added = max_value[2] + (max_value[2] * max_value[3])

print(max_value_name, max_value_added)

推荐阅读