等了一上午也没看到答案,自己做了一份,不太好啊,用python做的,欢迎交流
这个论坛真心活跃,怎么国内python论坛都死水一滩呢,天天在这混还真学不少东西,代码奉上:
- import csv
- def judge(num,temp_list):
- temp=[]
- temp1=[]
- temp2=[]
- for key1,value1 in temp_list.items():
- if value1 ==num:
- temp.append({key1:value1})
- for key2,value2 in temp_list.items():
- if value1+value2==num:
- temp1.append({key1:value1,key2:value2})
- for key3,value3 in temp_list.items():
- if value1+value2+value3== num:
- temp2.append({key1:value1,key2:value2,key3:value3})
- if len(temp)>0:
- return temp[0]
- elif len(temp1)>0:
- return temp1[0]
- elif len(temp2)>0:
- return temp2[0]
- judge(1350,{"早餐":250,"中餐":1100,"晚餐":1100,"住宿":800,"车费":1050,"校服/夏1":70,"校服/夏2":140,"校服/冬1":100,"校服/冬2":200})
- list_num=[2400,1350,1190,1190,2400,1350]
- dic={"早餐":250,"中餐":1100,"晚餐":1100,"住宿":800,"车费":1050,"校服/夏1":70,"校服/夏2":140,"校服/冬1":100,"校服/冬2":200}
- head=["早餐","中餐","晚餐","住宿","车费","校服/夏1","校服/夏2","校服/冬1","校服/冬2"]
- lis=[]
- for num in list_num:
- dic_1=judge(num,dic)
- lis.append(dic_1)
- print(lis)
- with open("d:/结果.csv","w",encoding='utf-8',newline="") as f:
- w=csv.DictWriter(f,head)
- w.writeheader()
- w.writerows(lis)
复制代码 |