使用表示数字的代码制作一个复杂的算法,并将它们相加为一个用于表示不同个体的数字

2024-09-27 04:27:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以做一个算法,将数字列表(范围从1-470)和加起来的代码(L12=2,L11=7,L10=20,L9=20,L8=70,L7=200,R12=1,R11=4,R10=10,R9=40,R8=100)创建一个L和R代码列表,使用尽可能少的代码加起来,并且每个代码只使用一次

前。 1:R12, 2:L12, 3:R12 L12

但是如果我有一个像40这样的数字,我需要算法只把R9作为一个选项,而不是R=L9,R10,L11,L12,R12加起来等于40


Tags: 代码算法列表数字r8l10r11r12
1条回答
网友
1楼 · 发布于 2024-09-27 04:27:40
def translate(num):
    code_map = {200:['L7'],100:['R8'],70:['L8'],40:['R9'],20:['L10','L9'],
    10:['R10'],7:['L11'],4:['R11'],2:['L12'],1:['R12']}
    translation = ''
    for value, codes in code_map.items():
        while num >= value and len(codes) > 0:
            translation += codes.pop(0) + ','
            num -= value
    return translation[:len(translation) - 1]

# Translating 1-470
for i in range(1,471):
    translate(i)

# If you want the translations to be stored in a table:
number_codes = dict()
for i in range(1,471):
    number_codes.update([(i, translate(i))])

相关问题 更多 >

    热门问题