编辑代码

#采用在1队伍下单对冲
def zddc():
    max_roe=0
    max_put1=0
    max_put2=0
    total_roe=0
    zdsy=0
    zxsy=0
    zdsy2=''
    zxsy2=''
    a=[]
    for peilvnew in range(100,1000):
        maxroe=0
        je=0
        roe=[]
        for peilvnewjine in range (0,1000,5):
            sy1=peilvnewjine*(peilvnew/100)+peilv1*peilv1jine-peilv1jine-peilv2jine-peilvnewjine
            sy2=peilv2*peilv2jine-peilv1jine-peilv2jine-peilvnewjine
            small=int(min(sy1,sy2))
            big=int(max(sy1,sy2))
            if (sy2-sy1)!=0:
                shouyichengjihezongshouru=(sy2*sy1)/(sy2-sy1)
            else:
                shouyichengjihezongshouru=(sy2*sy1)
      
            if sy1>=0 and sy2>=0 :
                a.append([peilvnew/100,peilvnewjine,small,big,shouyichengjihezongshouru])
    
    # 找出所有不同的赔率值
    odds = set(item[0] for item in a)
    
    # 对于每个赔率值,筛选出盈利金额最大的项
    max_profit_items = [max((item for item in a if item[0] == odd), key=lambda x: x[4]) for odd in odds]
    sorted_data = sorted(max_profit_items, key=lambda x: x[0])
    a=[]
    for x in range(0,len(sorted_data)):      
        pl=str(sorted_data[x][0])
        je=str(sorted_data[x][1]) 
        yl1=str(sorted_data[x][2])
        yl2=str(sorted_data[x][3])
        a.append('赔率:'+pl+'  下单金额:'+je+'  盈利金额至少为:'+yl1+'  盈利金额至多为:'+yl2)
        print('赔率:'+pl+'  下单金额:'+je+'  盈利金额至少为:'+yl1+'  盈利金额至多为:'+yl2)          
    return a
#采用在1队伍下单对冲
def kddc():
    max_roe=0
    max_put1=0
    max_put2=0
    total_roe=0
    zdsy=0
    zxsy=0
    zdsy2=''
    zxsy2=''
    a=[]
    for peilvnew in range(100,1000):
        maxroe=0
        je=0
        roe=[]
        for peilvnewjine in range (0,1000,5):
            sy1=peilv1*peilv1jine-peilv1jine-peilv2jine-peilvnewjine
            sy2=peilv2*peilv2jine+peilvnewjine*(peilvnew/100)-peilv1jine-peilv2jine-peilvnewjine
            small=int(min(sy1,sy2))
            big=int(max(sy1,sy2))
            if (sy2-sy1)!=0:
                shouyichengjihezongshouru=(sy2*sy1)/(sy2-sy1)
            else:
                shouyichengjihezongshouru=(sy2*sy1)
      
            if sy1>=0 and sy2>=0 :
                a.append([peilvnew/100,peilvnewjine,small,big,shouyichengjihezongshouru])
    
    # 找出所有不同的赔率值
    odds = set(item[0] for item in a)
    
    # 对于每个赔率值,筛选出盈利金额最大的项
    max_profit_items = [max((item for item in a if item[0] == odd), key=lambda x: x[4]) for odd in odds]
    sorted_data = sorted(max_profit_items, key=lambda x: x[0])
    a=[]
    for x in range(0,len(sorted_data)):      
        pl=str(sorted_data[x][0])
        je=str(sorted_data[x][1]) 
        yl1=str(sorted_data[x][2])
        yl2=str(sorted_data[x][3])
        a.append('赔率:'+pl+'  下单金额:'+je+'  盈利金额至少为:'+yl1+'  盈利金额至多为:'+yl2)
        print('赔率:'+pl+'  下单金额:'+je+'  盈利金额至少为:'+yl1+'  盈利金额至多为:'+yl2)          
    return a
if __name__ == '__main__': 
    peilv1=float(input('输入已经下注错了的赔率1:'))
    peilv1jine=float(input('输入已经下注错了的金额1:'))
    peilv2=float(input('输入已经下注错了的赔率2:'))
    peilv2jine=float(input('输入已经下注错了的金额2:'))
    print('\n\n主队二次下单方法:')
    zddc=zddc()
    print('-----------------------------------')
    print('\n\n客队二次下单方法:')
    kddc=kddc()