紧张学习 发表于 2022-7-9 22:58:26

作业27,动动手 0

s = input("请输入一个字符串:")
   
res = []
for each in s:
    if res and res[-1].lower() == each.lower() and res[-1] != each:   疑问1:单单一个res能有什么作用?res现在不就是个空列表吗,那res[-1]是啥,下面的pop也执行不了呀
      res.pop()
    else:
      res.append(each)
   
for each in res:
    print(each, end='')

疑问2:越想越迷,能仔细讲讲这个吗

ba21 发表于 2022-7-9 22:58:27

if res and res[-1].lower() == each.lower() and res[-1] != each:
      res.pop()
    else:
      res.append(each)

从这开始看 res and res[-1].lower() == each.lower() and res[-1] != each
循环1,res 空(假), and 后面的不用判断,if 不执行。(这种机制叫断言)。执行else
循环2,res 有数据(值),判断 and后面的表达式res[-1]列表中的最后一个数据。
其它的不用解释了,这2点能明白,你就全明白了

简单滴滴 发表于 2022-9-22 19:44:23

刚学习到这里
页: [1]
查看完整版本: 作业27,动动手 0