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

Python wont recognize the end of a word in if-else statement?

所以我正在尝试设计一个函数,如果字符串的第一个和最后一个字母相同,则 return 为真,否则 return 为假。

到目前为止,这是我的代码

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
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]

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

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 如果有人能识别的话。