1

我在涉及字符串的 Python 问题上遇到了一些麻烦。

提示是:

修改first_and_last函数,使其返回True如果字符串的第一个字母与字符串的最后一个字母相同,False如果它们不同。请记住,您可以使用message[0]或访问字符message[-1]。小心你如何处理空字符串,它应该返回,True因为没有什么等于没有。

这就是我所拥有的:

def first_and_last(message):
  for char in message:
    if char[0] == char[-1]:
      return True
    elif char == " ":
      return True
    else:
      return False

print(first_and_last("else"))
print(first_and_last("tree"))
print(first_and_last(""))

我收到的输出:

True
True
None

不完全是,first_and_last("tree")返回True,应该是 False。您是否添加了对空字符串的检查,并使用了正确的字符串索引?提示:索引号 0 和 -1 对 Python 中的字符串处理意味着什么?

有人知道如何提供帮助吗?

4

5 回答 5

1

我将避免回答问题本身并尝试提供一些提示来指导您:

  • “索引号 0 和 -1 对 Python 中的字符串处理意味着什么?” - 好吧,这已经给你了。
  • char 和 message 有什么区别?这两者都是什么类型的对象?事实上,char[0] 和 char[-1] 看起来很奇怪。这不应该导致异常吗?
  • 编程语言,尤其是像 python 这样的语言,是一个游乐场。打印对象通常可以帮助您了解正在发生的事情。(尝试打印消息中的每个字符,看看你得到了什么)
于 2020-03-21T23:46:39.693 回答
0
def first_and_last(message):
  if not message or message[0] == message[len(message)-1]:
    return True
  else:
    return False
于 2020-04-30T21:46:36.430 回答
0
def first_and_last(message):
    if len(message)==0:
        return True
    else:
        return message[0]==message[-1]
于 2020-06-30T10:06:43.110 回答
0

您可以使用 'not' 和 'or' 比较运算符来输出所需的结果。

def first_and_last(message):
    if not message or message[0] == message[-1]:
        return True
    else:
        return False
于 2020-04-01T04:18:04.807 回答
0
def first_and_last(message):
  if not message or message[0] == message[len(message)-1]:
    return True
  else:
    return False

print(first_and_last("else"))
print(first_and_last("tree"))
print(first_and_last(""))

Here is your output:
True
False
True
于 2020-11-10T18:03:21.507 回答