PYTHON. Как сделать сравнение

Есть список - list. В нём находятся люди (элементы списка), у каждого человека в списке есть опыт (например: Andrew - 16, Alex - 17, Rose - 11). И этим людям нужно сделать предмет (у предмета если нужный опыт для его создания), сделать предмет должен тот кто ближе всего подходит по опыту к предмету, но опыта должно быть либо столько же, либо больше (опыт человека >= опыт предмета). Допустим сложность предмета 14 опыта, значит его должен делать Andrew, так как у него опыт больше чем у предмета, и он ближе всего к нему по значению.

(массив с людьми - list)

(люди - people)

(опыт людей - people_exp)

(предмет - item)

(массив предметов - item_list)

(опыт предмета - item_exp)


Ответы (1 шт):

Автор решения: passant

Очень странно, что "просто список", но тем не менее.

import sys
exp=14
cand=sys.maxsize
num_cand=-1
sp=[['Onufriy',18],['Andrew',16], ['Alex' ,17], ['Agripine',8],['Rose',11], ['Fedia',22], ['Fekla',13], ['Parfiriy',12]]
for num,elt in enumerate (sp):
    if elt[1]>=exp:
        if elt[1]-exp < cand:
            cand=elt[1]-exp
            num_cand=num
print (sp[num_cand])

Результат

['Andrew', 16]
→ Ссылка