牛客网学习笔记——中等题们(字符串)

HJ27 查找兄弟单词

在这里插入图片描述
在这里插入图片描述

l = list(input().split())
list = l[1:-2]
k = int(l[-1])
k2 = l[-2]
re = []
for i in range(len(list)):
    if list[i] == k2 or len(k2) != len(list[i]):
        continue
    elif sorted(list[i]) == sorted(k2):
        re.append(list[i])
print(len(re))
re.sort()
if len(re) > k-1:
    print(re[k-1])

HJ29 字符串加解密

在这里插入图片描述
在这里插入图片描述
又来展示智商下限了,我写的:

def zip(s):
    re = ''
    for i in range(len(s)):
        if 'a'<= s[i] < 'z':
            re += chr(ord(s[i]) + ord('B') - ord('a'))
        elif s[i] == 'z':
            re += 'A'
        elif 'A'<= s[i] < 'Z':
            re += chr(ord(s[i]) + ord('b') - ord('A'))
        elif s[i] == 'Z':
            re += 'a'
        elif '0' <= s[i] < '9':
            re += str(int(s[i])+1)
        elif s[i] == '9':
            re += '0'
    return re
def unzip(s):
    re = ''
    for i in range(len(s)):
        if 'a'< s[i] <= 'z':
            re += chr(ord(s[i]) + ord('A') - ord('b'))
        elif s[i] == 'a':
            re += 'Z'
        elif 'A'< s[i] <= 'Z':
            re += chr(ord(s[i]) + ord('a') - ord('B'))
        elif s[i] == 'A':
            re += 'z'
        elif '0' < s[i] <= '9':
            re += str(int(s[i])-1)
        elif s[i] == '0':
            re += '9'
        else:
            re += s[i]
    return re
s1 = input()
s2 = input()
print(zip(s1))
print(unzip(s2))
正常人写的
def check(a,b):
    L1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    L2 = "BCDEFGHIJKLMNOPQRSTUVWXYZAbcdefghijklmnopqrstuvwxyza1234567890"
    result = ""
    if b == 1:
        for i in a:
            result += L2[L1.index(i)]
    elif b == -1:
        for i in a:
            result += L1[L2.index(i)]
    return result
while True:
    try:
        print(check(input(),1))
        print(check(input(), -1))
 
    except:
        break

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值