编队(Python)

问题描述 投票:0回答:0

`**》问题:给定一个字符串创建2个并行数组,从左到右处理字符串中的字母,将每个字母按字母顺序插入到第一个数组中,一次插入一个字母。在此过程中,每个字母在第二个数组中赋一个整数值如下:

第一个字母的值为 0.

如果新字母是数组中的第一个或最后一个,则其值比相邻字母的值多一个。

否则比相邻两个值中较大的值加一。如果字母已经在数组中,则新字母放在现有字母之前。

创建两个数组后,按值的顺序输出字母,从左到右,从 0 开始,然后是所有 1,然后是所有 2,依此类推

下面是如何为字符串 PYTHONN 构建数组:

字母P说明规则1; Y 和 H 说明规则 2; T、O 和 N 说明规则 3;最后的 N 说明了如果有重复的字母会发生什么。

此示例的输出是 PHYOTNN。”

‘我尝试转换最后一个阵型’ *

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    user_input = input()

    output = result(user_input)

    fptr.write(output + '\n')

    fptr.close() 

'到'

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    input = input()

    result = listByValue(input)

    fptr.write(result + '\n')

    fptr.close()

'但我无法获取 isea,而且我一直收到错误消息。请帮助我。'

'这是我的代码:'

def ltnb(i):
    return i.split()

def listByValue(input):
    process_str=input
    converted_list=[]
    test_v=[]
    arr_1=[]
    arr_2=[]
    full_list=[]
    x=0
    for letter in process_str:
        test_v.clear()
        for i in converted_list:
            test_v.append(ltnb(i)[0])
        test_v.append(letter)
        test_v.sort()
   
        if len(converted_list)==0:
            number=0
        elif x==0:
            x=test_v.index(letter)
            number=int(ltnb(converted_list[x-1])[1])+1
        elif x==len(converted_list):
            x=test_v.index(letter)
            number=int(ltnb(converted_list[x])[1])+1
        else:
            x=test_v.index(letter)
            number=max(int(ltnb(converted_list[x-1])[1]), int(ltnb(converted_list[x])[1]))  
        converted_list.insert(x, f"{letter} {number}")
        for i in range(0,len(converted_list)):
            ltnb(converted_list)[1]
def result(s):
    L, V = [], [-1]
    for c in s:
        L.append(c)
        L.sort()
        i = L.index(c)
        V.insert(i+1, max(V[i:i+2])+1)
    return ''.join(sorted(L, key=lambda _: V.pop(1)))

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    user_input = input()

    output = result(user_input)

    fptr.write(output + '\n')

    fptr.close() *

“我期待正确的代码。”**`

python python-3.x input lambda computer-science
© www.soinside.com 2019 - 2024. All rights reserved.