Jor*_*ron -3 python python-3.x
我的代码给我一个错误,说第 9 行的索引超出范围。这是我的代码:
s = 'aba'
letter = ''
substring = ''
i = 0
while(i <= len(s)):
prev_letter = s[0]
letter = s[i]
if letter <= prev_letter:
substring += letter
prev_letter = letter
i += 1
Run Code Online (Sandbox Code Playgroud)
更改while(i <= len(s):为while(i < len(s)):或while(i <= len(s)-1):
在 Python 中,字符串是一维字符数组。Python 编程中的索引从 0 开始。这意味着任何字符串的最大索引将始终为 len(s)-1。在您的代码中,最终将等于,它比最大值高一个元素。ilen(s)
作为旁注,在您的代码中使用for循环而不是while循环可能会更有益。您的代码可以替换为:
s = 'aba'
letter = ''
substring = ''
i = 0
for i in range(len(s)):
prev_letter = s[0]
letter = s[i]
if letter <= prev_letter:
substring += letter
prev_letter = letter
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12066 次 |
| 最近记录: |