不二如是 发表于 2022-9-6 18:16:35

0018-编程打卡:按如下要求将字符串重新排列

本帖最后由 不二如是 于 2022-9-6 18:45 编辑






一星答案:

def getnew(test):
    # 建立一个字典来给字母编号
    dic = {}
    for x, y, n, m in zip(list("abcdefghijklmnopqrstuvwxyz"), list("ABCDEFGHIJKLMNOPQRSTUVWXYZ"), range(2, 54, 2), range(1, 53, 2)):
      dic = n
      dic = m
    # 建立一个字典给数字编字母,跟第一个是相反的,为了后面替换回来字母
    dic2 = {}
    for each in dic:
      dic2)] = each
    # 把字符串变成列表然后把字母替换成数字后按照小到大排序
    list1 = list(test)
    list2 = []
    for i in list1:
      h = i.replace(i, str(dic))
      list2.append(int(h))
    list2.sort()
    # 把排完序号的新的列表中数字替换回之前的字母
    newlist = []
    for k in list(map(str, list2)):
      kk = k.replace(k, dic2)
      newlist.append(kk)
    # 把列表变成字符串返回
    newstr = "".join(newlist)
    return newstr

test = "easfishcFishCWAwaeqshfohoahoFHAOJFAOJFAJhaofhaofoajFAOUFOAUQ"
print(getnew(test))


二星答案:

test = "easfishcFishCWAwaeqshfohoahoFHAOJFAOJFAJhaofhaofoajFAOUFOAUQ"

def foo(s):
    return ord(s.lower()) * 2 + s.islower()   

print(''.join(sorted(test, key=foo)))

三星答案:

**** Hidden Message *****

基础语法:

https://www.bilibili.com/video/BV1c4411e77t

算法讲解:

https://www.bilibili.com/video/BV1HT4y1K7DY



hveagle 发表于 2022-9-30 15:39:04

我的答案是:冷清加热
not sofa
页: [1]
查看完整版本: 0018-编程打卡:按如下要求将字符串重新排列