蓝桥杯Python组——字符串

蓝桥杯Python组——字符串

例1:

题目链接

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

n = int(input())
# 这个for循环用来原封不动输出前n行字符串
for i in range(n):
    print(input()+"\n")
#以空格作为分片标准依次输出
while True:
    try:
        a = input().split()
        for s in a:
            print (s + "\n")
    except:
        break

解析:
此题分为两个部分,将前n行字符串原封不动输出后就可以将之后的简化为简单的分片输出了。

例2:
题目链接
在这里插入图片描述
在这里插入图片描述

# 生成字符串的函数
def ABC(n):
    if n==1:
        return "A"
    else:
        return ABC(n-1) + chr(64+n) + ABC(n-1)

while True:
    try:
        a = int(input())
        print(ABC(a))
    except:
        break
    

解析:
这个串的特点是把上一级的串放在首尾,然后中间夹一个新的字母。这里用到递归函数来操作。chr()是根据ASCII码输出数字对应的字符。

例3:
在这里插入图片描述
在这里插入图片描述

while True :
    try:
        a = input().split()
        if a[0]>a[1]:
            print(1)
        if a[0]<a[1]:
            print(-1)
        if a[0]==a[1]:
            print(0)
    except:
        break

解析:
这里字符可以直接用大小与号进行比较。不用麻烦的转化码值。

例4:
在这里插入图片描述
在这里插入图片描述

while True:
    try:
        a = input().split()
        max_num = 0
        max_str = ""
        for count in range (5):
            if len(a[count]) > max_num:
                max_num = len(a[count])
                max_str = a[count]
        print(max_str)
            
    except:
        break

例5:
在这里插入图片描述
在这里插入图片描述

while True:
    try:
        a = input().split()
        if a[0] == a[1]:
            print(0)
        else:
           count = 0
           while True:
               if a[0][count] == a[1][count]:
                   count+=1
               if a[0][count] != a[1][count]:
                    break

        ans = ord(a[0][count]) - ord(a[1][count])
        print(ans)
    except:
        break

解析:
这里有个坑,他说“第一个不同字符的码值差”。所以程序中要判断一下从哪里开始不同的。

例6:
题目链接
字符逆序
在这里插入图片描述

a = str(input())
print(a[::-1])	#逆序输出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值