首页 > 解决方案 > 我想检查单词的第一个和最后一个字母是否相同以返回 True 否则为 false。但它每次都返回true

问题描述

def first_last(message):
    for char in message:
        if char[0] == char[-1]:
            return True
        elif message == "":
            return True
        else:
            return False

我这样使用它:

print(first_last("night")) # should return False
print(first_last("nun")) # should return True
print(first_last(""))   # should return true

标签: python-3.xloops

解决方案


当您使用时,for loop您从 获得单个字符message,那么您的比较是没有意义的。

你可以试试这个:

def start_and_end_are_same(message):
    if message[:1] == message[-1:]:
        return True
    else:
        return False


print(start_and_end_are_same('night'))
print(start_and_end_are_same('nun'))
print(start_and_end_are_same(''))

推荐阅读