字符串索引超出范围:索引器

2024-06-09 09:08:05 发布

您现在位置:Python中文网/ 问答频道 /正文

不明白为什么索引超出范围。。。 尝试使用以下命令查找错误:http://pythontutor.com/visualize.html#mode=display

它“更新”了il,但即使没有完成单词,我也会得到错误

我尝试打印的是每个名称的空格不超过第5个字符,因此我的预期输出是:

Rama as
Nemo as

代码:

spaceNames = ['Rama as', 'Nemo as', 'Siegss as', 'Kama', 'Gray', 'BB', 'BB']

for name in spaceNames:
    i=0
    for l in name:
        
        if i <= 4 and l[i] == " ":
          print(name)
        print(i)
        i+=1

感谢您的帮助


Tags: namein命令comhttpforas错误
3条回答

当你能更有效地获得你想要的大多数条件时,似乎有很多循环

spaceNames = ['Rama as', 'Nemo as', 'Siegss as', 'Kama', 'Gray', 'BB', 'BB']

for name in spaceNames:
    idx = name.find(' ')  # This returns -1 if no space
    if idx < 0 or idx > 4:
        continue  # Skip
    print(name)

找到了解决这两个问题的方法:

spaceNames = ['Rama as', 'Nemo as', 'Siegss as', 'Kama', 'Gray', 'BB', 'BB']

for name in spaceNames:
    i=0
    for l in name:
        if name.index(l) <=4 and name[i] == " ":
            print(name)
        i+=1

谢谢

对您的程序进行一次简单的跟踪,甚至是一次眼球检查,都会发现l是一个字符。您使用的索引最多为3。单个字符只有l[0]作为合法引用

我们无法“修复”您的程序,因为我们不知道您正在尝试做什么

相关问题 更多 >