所以我试图设计一个函数,如果字符串的第一个和最后一个字母是相同的,它返回真,否则返回假。
这是我到目前为止的代码
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]
你能看见吗?很难看清楚
第一行的–
不是-
。我不知道你输入了什么,但它不是负或负字符。
它似乎是unicode8211
,如果有人能识别它。
所有的答案都很好,尽量在一行中完成,因为代码并不复杂
def same_first_and_last_letter(s):
return s[0] == s[-1]
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是你缺少的