如何测试索引是否是“ mystr”的有效非负索引?

时间:2018-10-09 20:39:59

标签: python-3.x

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

我尝试了一下,但是没用:

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

2 个答案:

答案 0 :(得分:0)

len指令的小修正

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

答案 1 :(得分:0)

您正在尝试从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)