定义函数中嵌套定义函数,使用递归
# 本程序用来验证error值是否合适 #value=[6,10,52,99,199,520,999,1314,1999,3000,6666,8888,9999,13140,20520] #erro 代表误差 Value=[6,10,52,99,199,520,999,1314,1999,3000,6666,8888,9999,13140,20520,52000] erro=2000 Value.sort(reverse = True) def five_sum(List,Target): i_list=[] t=Target def f_sum(List,Target): while len(i_list)<=5: for i in List: if Target-i>=0: #print(i) i_list.append(i) Target=Target-i #print(i_list) return f_sum(List,Target) pass else: pass pass return i_list return i_list[0:5] return f_sum(List,Target) #print(five_sum(Value,6000)) # 下方为检验数据区间在range内填入即可 for Tartg in range(6000,12000): if Tartg-sum(five_sum(Value,Tartg))>erro or Tartg-sum(five_sum(Value,Tartg))<-erro : print(Tartg,"warring") pass else: print(Tartg) pass
需求
给定的奖励数额target,需要从value的list中凑齐,要求最多五个,同时有一个Error值,验证取出的是否合理。
现在验证这个Error值是否合理。
如果return值出现在部分条件中,则需要注意所有的条件都应该有return值
轻诺必寡信,多易必多难