jujujujuju0 发表于 2021-11-14 23:37:36

res不是空列表吗?为什么能返回小写字母,求注释一下

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='')

白two 发表于 2021-11-14 23:54:19

但是会添加元素进去啊
s = input("请输入一个字符串:")

res = []
for each in s:
    # 如果列表不为空,且each和res最后一个元素互为大小写,就把res最后一个元素删除,否则就把each添加进去
    # 注意,前提是res不为空,为空的话直接把each添加进去
    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='')

jujujujuju0 发表于 2021-11-15 14:43:27

白two 发表于 2021-11-14 23:54
但是会添加元素进去啊

res[-1].lower()这个怎么理解,空列表返回报错的

白two 发表于 2021-11-15 17:00:23

你得理解 and 的判断顺序啊
第一个 res 为空之后,and 后面都不会再执行了,整个条件就是 False,怎么会进行后面的判断并且报错呢?
除非你改了顺序

jujujujuju0 发表于 2021-11-16 11:31:10

白two 发表于 2021-11-15 17:00
你得理解 and 的判断顺序啊
第一个 res 为空之后,and 后面都不会再执行了,整个条件就是 False,怎么会进 ...

理解了谢谢

罗罗哦 发表于 2023-11-18 09:21:52

11111111111
页: [1]
查看完整版本: res不是空列表吗?为什么能返回小写字母,求注释一下