微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python 无法识别 if-else 语句中单词的结尾?

如何解决Python 无法识别 if-else 语句中单词的结尾?

所以我试图设计一个函数,如果字符串的第一个和最后一个字母相同,则返回 true,否则返回 false。

这是我目前的代码

def same_first_and_last_letter(str):
if s[0] == s[–1]:
    return True
else:
    return False

我收到一个名为 SyntaxError: invalid character in identifier错误 为什么会这样?我认为 if 语句评估 == 一侧的每一侧是否为真?

编辑:完整的错误

File "<ipython-input-54-897fe4b51e80>",line 2
    if s[0] == s[–1]:
                  ^
SyntaxError: invalid character in identifier

解决方法

好的,现在从您的错误回溯:

File "<ipython-input-54-897fe4b51e80>",line 2
    if s[0] == s[–1]:
                  ^
SyntaxError: invalid character in identifier

Python 指出 1 是错误的,但它真正指出的是 - 是错误的。

比较这些:

s[–1]
s[-1]

你能看到吗?很难看到。

第一行有一个不是 -。我不知道你输入了什么,但它不是负号或减号。

如果有人能识别,它似乎是 unicode 8211

,
def same_first_and_last_letter(s):
  
  if s[0] == s[::-1][0]: # s[::-1] reverse the string and 0 uses 1st index of reversed string
    return True
  else:
    return False

same_first_and_last_letter("HelloH")

输出:

True

缩进和 s 是你所缺少的

,

所有答案都很好,代码不复杂,尽量一行写

def same_first_and_last_letter(s):
    return s[0] == s[-1]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。