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
如果有人能识别的话。
所以我正在尝试设计一个函数,如果字符串的第一个和最后一个字母相同,则 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
如果有人能识别的话。