"""R606:独立标准库合成方法样例,不是实际历史绩效。""" from itertools import product from random import Random legal=list(product([2,3,4,5],[6,8,10,12])) budget=6 grid=list(product([2,5],[6,8,12])) random=Random(17).choices(legal,k=budget) def evaluate(queue): rows=[] for f,s in queue: status='failed' if (f,s)==(5,12) else 'completed' score=None if status=='failed' else 10-2*abs(f-3)-abs(s-10)/2 rows.append(((f,s),status,score)) return dict(attempts=len(rows),unique=len(set(queue)),duplicates=len(queue)-len(set(queue)),failed=sum(r[1]=='failed' for r in rows),fast_coverage=len({f for f,s in queue}),slow_coverage=len({s for f,s in queue})) a,b=evaluate(grid),evaluate(random) assert a['attempts']==b['attempts']==budget assert random==Random(17).choices(legal,k=budget) assert evaluate([legal[0]]*budget)['duplicates']==5 print('grid='+str(a)) print('random_seed_17='+str(b)+' queue='+str(random))