如何修复布尔表达式上的 Python 语法错误 [已关闭]

问题描述 投票:0回答:1

我正在学习Python,但遇到了一个我似乎无法摆脱的语法错误。我正在创建一个函数,可以确定第一个和最后一个字母是否相等。对于第一个字母,我只是获取了字符串参数传递到的参数,我们将参数称为“word”,因此我通过输入 word[0] 来获取第一个字母,下面提供了完整代码。

对于最后一个字母,我使用 len() 获取字符串的完整长度,并将该数字减去 1 以考虑到 0 索引,然后将其存储在名为 last_letter 的变量中。然后我使用带有参数的变量,例如 word[last_letter]。

def same_first_and_last_letter(word):
    last_letter = len(word) - 1
    return word[0] == word[last_letter]

same_first_and_last_letter("runner")

但是,我从中得到了语法错误。以下是错误信息。

def same_first_and_last_letter(word):

...     last_let = len(word) - 1
...     return word[0] == word[last_let]
... same_first_and_last_letter("runner")
  File "<stdin>", line 4
    same_first_and_last_letter("runner")
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: invalid syntax

我唯一的猜测是,当我通过索引号查找最后一个字母时,它不允许在该部分中使用变量。我需要一个整数还是我做错了什么?

当我运行该函数并提供参数“runner”时,它应该说 true。

python string string-length
1个回答
-1
投票

您遇到的语法错误是因为函数调用 same_first_and_last_letter("runner") 之前有多余的点 (...)。在 Python 的交互模式 () 中,... 用于指示多行块的续行,但不应直接在脚本中键入它。

def same_first_and_last_letter(单词): 最后一个= len(字) - 1 返回单词[0] == 单词[last_let]

现在您可以调用该函数了

结果 = same_first_and_last_letter("跑步者") 打印(结果)

© www.soinside.com 2019 - 2024. All rights reserved.