Ari小虎鱼 发表于 2022-4-21 13:25:30

027讲课后作业代码勘误

第27讲作业,我写的和小甲鱼不一样
题目:一个整理好的字符串中,两个相邻字符 s 和 s,其中 0 <= j <= s.length - 2,要满足如下条件:
若 s 是小写字符,则 s 不可以是相同的大写字符
若 s 是大写字符,则 s 不可以是相同的小写字符
如果 s 和 s 满足以上两个条件,则将它们一并删除
words = input("请输入字符串:")
s =

for j in range(0,len(s)-2):
    if s == s.swapcase():
      s.pop(j)
      s.pop(j+1)

for each in s:
    print(each,end='')
然后报错是这个:Traceback (most recent call last):
File "C:\Users\Zhou Yiyun\Desktop\Python\作业\第027讲-整理字符串.py", line 5, in <module>
    if s == s.swapcase():
IndexError: list index out of range
>>>
为什么会超出范围??

代码小白liu 发表于 2022-4-21 13:48:29

你的s是啥

Ari小虎鱼 发表于 2022-4-21 15:04:16

代码小白liu 发表于 2022-4-21 13:48
你的s是啥

就是将字符串中每一个字母放到s列表中

代码小白liu 发表于 2022-4-21 15:10:49

Ari小虎鱼 发表于 2022-4-21 15:04
就是将字符串中每一个字母放到s列表中

pop之后从原来列表里删除了啊数据不够了,索引超出范围,你应该再复制个列表,不要再原来的列表里操作

Ari小虎鱼 发表于 2022-4-24 17:32:04

代码小白liu 发表于 2022-4-21 15:10
pop之后从原来列表里删除了啊数据不够了,索引超出范围,你应该再复制个列表,不要再原来的列表里操作

pop之后s的长度不应该跟着变么?(对不起我是小白

代码小白liu 发表于 2022-4-24 19:38:50

Ari小虎鱼 发表于 2022-4-24 17:32
pop之后s的长度不应该跟着变么?(对不起我是小白

第一次循环就确定了循环几次啊

Ari小虎鱼 发表于 2022-4-25 07:43:58

代码小白liu 发表于 2022-4-24 19:38
第一次循环就确定了循环几次啊

好的吧,我再改改{:5_99:}
页: [1]
查看完整版本: 027讲课后作业代码勘误