基本上我需要的是,如果我在函数中引入字典,我的代码将打印具有“promedio”变量最高值的元组。我被卡住了,因为我的代码只打印最新的结果,而不是最高的结果,如下所示:
def mejor_promedio_anual(datos: dict):
empleados = datos
for clave in empleados:
nombre_empleado = empleados[clave]["nombre_emp"]
primeras_tres:str = empleados[clave]["nombre_emp"][0:3]
cedula = int(empleados[clave]["cedula"])
digitos_cedula = [int(n) for n in str(cedula)]
pares_int = [x for x in digitos_cedula if x%2 == 0]
sumatoria_impares = sum([x for x in digitos_cedula if x%2 != 0])
multip_impares = "".join([str(num*sumatoria_impares) for num in pares_int])
#Codigo Empleado
codigo_unico:str = primeras_tres + multip_impares
ventas_totales = 0
for a in empleados[clave]["ventas"]:
for b in a.values():
for value in b.values():
ventas_totales+=value
promedio = round(ventas_totales/48, 2)
tupla = (codigo_unico, nombre_empleado, promedio)
return tupla
这是我的函数,我将添加一个字典,然后进行打印,这是:
datos = {
"Ju1234": {
"nombre_emp": 'Juan',
"cedula": '12345679',
"edad": '28',
"ventas": [
{
"enero": {
"camisas": 1500000,
"jeans": 2450000,
"vestidos": 800000,
"zapatos": 1300000
}
},
{
"febrero": {
"camisas": 134000,
"jeans": 600000,
"vestidos": 700000,
"zapatos": 900000
}
},
{
"marzo": {
"camisas": 1000000,
"jeans": 1400000,
"vestidos": 1600000,
"zapatos": 1800000
}
},
{
"abril": {
"camisas": 1900000,
"jeans": 2450000,
"vestidos": 1400000,
"zapatos": 300000
}
},
{
"mayo": {
"camisas": 1800000,
"jeans": 2750000,
"vestidos": 1200000,
"zapatos": 200000
}
},
{
"junio": {
"camisas": 1700000,
"jeans": 2000000,
"vestidos": 1900000,
"zapatos": 500000
}
},
{
"julio": {
"camisas": 1600000,
"jeans": 2780000,
"vestidos": 1500000,
"zapatos": 700000
}
},
{
"agosto": {
"camisas": 1500000,
"jeans": 2250000,
"vestidos": 1100000,
"zapatos": 200000
}
},
{
"septiembre": {
"camisas": 1100000,
"jeans": 2540000,
"vestidos": 1200000,
"zapatos": 400000
}
},
{
"octubre": {
"camisas": 1400000,
"jeans": 2120000,
"vestidos": 1400000,
"zapatos": 500000
}
},
{
"noviembre": {
"camisas": 1300000,
"jeans": 2230000,
"vestidos": 1700000,
"zapatos": 200000
}
},
{
"diciembre": {
"camisas": 1000000,
"jeans": 2480000,
"vestidos": 1800000,
"zapatos": 100000
}
}
]
},
"Ma9876": {
"nombre_emp": 'Martha',
"cedula": '987654321',
"edad": '25',
"ventas": [
{
"enero": {
"camisas": 980000,
"jeans": 4200000,
"vestidos": 940000,
"zapatos": 500000
}
},
{
"febrero": {
"camisas": 910000,
"jeans": 6400000,
"vestidos": 140000,
"zapatos": 480000
}
},
{
"marzo": {
"camisas": 920000,
"jeans": 4300000,
"vestidos": 240000,
"zapatos": 410000
}
},
{
"abril": {
"camisas": 980000,
"jeans": 4200000,
"vestidos": 540000,
"zapatos": 402000
}
},
{
"mayo": {
"camisas": 920000,
"jeans": 4700000,
"vestidos": 540000,
"zapatos": 980000
}
},
{
"junio": {
"camisas": 900000,
"jeans": 4600000,
"vestidos": 650000,
"zapatos": 290000
}
},
{
"julio": {
"camisas": 890000,
"jeans": 4200000,
"vestidos": 190000,
"zapatos": 720000
}
},
{
"agosto": {
"camisas": 130000,
"jeans": 9200000,
"vestidos": 960000,
"zapatos": 870000
}
},
{
"septiembre": {
"camisas": 210000,
"jeans": 5400000,
"vestidos": 180000,
"zapatos": 980000
}
},
{
"octubre": {
"camisas": 250000,
"jeans": 3400000,
"vestidos": 140000,
"zapatos": 450000
}
},
{
"noviembre": {
"camisas": 430000,
"jeans": 1500000,
"vestidos": 100000,
"zapatos": 420000
}
},
{
"diciembre": {
"camisas": 560000,
"jeans": 4500000,
"vestidos": 720000,
"zapatos": 400000
}
}
]
}
}
print(mejor_promedio_anual(datos))
如果执行此代码,它将打印元组('Mar20015010050','Martha',1602541.67),这是循环中的最后一个(第二个字典键),但我需要我的代码打印具有最高“promedio”的元组,对于我添加到字典中的任何值,我如何做到这一点
非常感谢
您可以:
max(list, key=lambda t: t[2])
查找最大值(按元组中的第三个值排序),并返回该值或:
相关问题 更多 >
编程相关推荐