|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
s = input("s:")
for j in range(0,len(s)-1):
if s[j].isupper() and s[j+1].islower():
s = s.replace(s[j],"")
s = s.replace(s[j],"")
if s[j].islower() and s[j+1].isupper():
s = s.replace(s[j],"")
s = s.replace(s[j],"")
print(s)
运行结果
s:FishCcCode
Traceback (most recent call last):
File "C:\Users\宋\Desktop\test.py", line 6, in <module>
if s[j].islower() and s[j+1].isupper():
IndexError: string index out of range
这里为什么会出现string index out of range这个错误啊?错在哪儿呀?
- for j in range(0,len(s)-1):
- if s[j].isupper() and s[j+1].islower():
- s = s.replace(s[j],"")
- s = s.replace(s[j],"")
- if s[j].islower() and s[j+1].isupper():
- s = s.replace(s[j],"")
- s = s.replace(s[j],"")
复制代码
在这个循环中,这条语句:
每执行1次,字符串 s 就会缩短 1 个字符,在这个循环中,这个语句有4条,在条件合适的情况下,单次循环,就可能使 s 缩短 4 个字符,而循环条件:
- for j in range(0,len(s)-1):
复制代码
是在循环开始的时候就已经确定了的,而字符串又在循环中变短,自然会导致下标越界了。
|
|