stephenqiang 发表于 2021-10-28 21:35:28

课后作业第27讲求助

请按照以下规则整理一个给定的字符串 s
一个整理好的字符串中,两个相邻字符 s 和 s,其中 0 <= j <= s.length - 2,要满足如下条件:
若 s 是小写字符,则 s 不可以是相同的大写字符
若 s 是大写字符,则 s 不可以是相同的小写字符
如果 s 和 s 满足以上两个条件,则将它们一并删除
整理前:"AABaAbCc"
整理后:"AABaAbCc" -> "AABbCc" -> "AACc" -> "AA"

s = input("请输入一个字符串:")
   
res = []
for each in s:
    if res and res[-1].lower() == each.lower() and res[-1] != each:
      res.pop()
    else:
      res.append(each)
   
for each in res:
    print(each, end='')


这一题的判断不会给我整不会了,看了小甲鱼的解析也看不懂。麻烦有没有大神给个具体一点的解析{:5_104:}

傻眼貓咪 发表于 2021-10-29 11:06:14

你已经分析出来了啊,不是吗?
整理后:"AABaAbCc" -> "AABbCc" -> "AACc" -> "AA"

步骤 1:"AABaAbCc" # a 是 A 小写
步骤 2:"AABbCc" # B 是 b 大写
步骤 3:"AACc" # C 是 c 大写
步骤 4:"AA"

页: [1]
查看完整版本: 课后作业第27讲求助