如何解决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 举报,一经查实,本站将立刻删除。