这段代码有什么问题?似乎没问题,但我的学校自动反馈说它无法运行

问题描述

def last_early(check_str):

    x = check_str.count(check_str[-1])

    if( x > 1):
        valid = True
    else:
        valid = False
    return valid

my_str = input("enter str: ")
my_str = my_str.lower()

valid = last_early(my_str)
print(valid)

问题是:“函数接受作为字符串参数。如果字符串中最后出现的字符也出现在前面,则函数返回“真”。否则,将打印假”

解决方法

check_str 为空字符串,即 '' 时,您会得到 IndexError。也许你没有通过这个边缘测试用例。

-- comment 作者 Ch3steR

要查看是否是这个问题,请尝试为空字符串添加保护子句:

def last_early(check_str):
    if not check_str:
        return False

    ...