Coursera: части струны - PullRequest
       34

Coursera: части струны

1 голос
/ 22 марта 2020

У меня небольшая проблема с проблемой 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(""))

И вывод I Получаю:

True
True
None

Не совсем, first_and_last("tree") Возвращено True, должно быть False. Вы добавили проверку на пустые строки и использовали правильную индексацию строк? Подсказка: что означают индексные числа 0 и -1 для обработки строк в Python?

Кто-нибудь знает, как помочь?

Ответы [ 3 ]

1 голос
/ 22 марта 2020

Я не буду отвечать на саму проблему и попытаюсь дать несколько советов, которые помогут вам:

  • "Что означают номера индекса 0 и -1 для обработки строк в Python? " - ну, это уже было дано тебе.
  • В чем разница между символом и сообщением? Какие типы объектов оба из этих? На самом деле, char [0] и char [-1] кажутся странными. Разве это не должно вызывать исключение?
  • Языки программирования, особенно такие, как python, являются игровой площадкой. Печать объектов обычно помогает понять, что происходит. (Попробуйте напечатать каждый символ в сообщении и посмотрите, что вы получите)
0 голосов
/ 01 мая 2020
def first_and_last(message):
  if not message or message[0] == message[len(message)-1]:
    return True
  else:
    return False
0 голосов
/ 01 апреля 2020

Вы можете использовать операторы сравнения not и and или для вывода желаемого результата.

def first_and_last(message):
    if not message or message[0] == message[-1]:
        return True
    else:
        return False
...