60分求助,5-8都是WA
查看原帖
60分求助,5-8都是WA
955236
ppppposty楼主2024/10/20 15:55
def get_gap(char1,char2):
    ascii_value1 = ord(char1)  # 将字符转换为ASCII码
    ascii_value2 = ord(char2)  # 将字符转换为ASCII码
    gap=ascii_value2-ascii_value1
    return gap




def get_next_ascii_char(char1,char2,p1,p2,p3):
    a=[]
    ascii_value1 = ord(char1)  # 将字符转换为ASCII码
    ascii_value2 = ord(char2)  # 将字符转换为ASCII码
    for i in range(ascii_value1+1,ascii_value2):
        a.append(chr(i))
    if p1==1:
        if char1.isalpha() and char2.isalpha():
            for i in range(len(a)):
                a[i]=a[i].lower()
    if p1==2:
        if char1.isalpha() and char2.isalpha():
            for i in range(len(a)):
                a[i] = a[i].upper()
    if p1==3:
        for i in range(len(a)):
            a[i] = "*"
    for i in range(len(a)):
        a[i]=a[i]*p2
    if p3==2:
        a.reverse()
    return a


# 示例使用
p1,p2,p3=map(int,input().split(" "))
deal=input()
out=""
list=[char for char in deal]
for i in range(len(list)):
    if list[i]=="-":
        gap=get_gap(list[i-1],list[i+1])
        if gap<0:
            if (list[i-1].isalpha() and list[i+1].isalpha()) or (list[i-1].isdigit() and list[i+1].isdigit()):
                list[i-1],list[i+1]=list[i+1],list[i-1]
                list[i]=" "
        if gap>0:
            if (list[i - 1].isalpha() and list[i + 1].isalpha()) or (list[i - 1].isdigit() and list[i + 1].isdigit()):
                step=get_next_ascii_char(list[i-1],list[i+1],p1,p2,p3)
                list[i]=step
flatten_list = [element for sublist in list for element in sublist]
for i in range(len(flatten_list)):
    if flatten_list[i]!=" ":
        print(flatten_list[i],end="")
2024/10/20 15:55
加载中...