首页 > 解决方案 > 如何测试索引是否是“mystr”的有效、非负索引?

问题描述

编写一个名为 valid_index 的函数,它接受两个参数indexmystr. index 的值将是一个整数,而 mystr 将是一个非空字符串。如果 index 是用于索引的有效非负索引,则该函数应返回 True mystr,如果它不是有效的非负索引,则返回 False。

我试过这个,但没有奏效:

def valid_index(index, mystr):
    if index<0 or index>len(mystr-1):
        return False
    else:
        return True

标签: python-3.x

解决方案


你试图从 减去mystr,这是行不通的。您只能从数字中减去,而不能从字符串中减去。

不需要减去任何东西,只需使用>=而不是>.

def valid_index(index, mystr):
    if index<0 or index>=len(mystr):
        return False
    else:
        return True

也不需要if,只返回倒置测试的结果:

def valid_index(index, mystr):
    return index >= 0 and index < len(mystr)

推荐阅读