Pyschool Quiz - Конкатенация строк - PullRequest
2 голосов
/ 02 ноября 2011

Вот вопрос теста:

Добавление двух строк или создание нескольких копий одной и той же строки.

Примеры:

greetings = "Hello World"

len (приветствия) # получить длину строки

 11

приветствия [0] # получить 1-й символ

 'H'

печать подчеркивания ("Добрый день")

 Good Day
 ________

# Напишите функцию, учитывая строку символов, верните строку вместе с '_ одинаковой длины.

Моя первая попытка была:

def underline(title): 
  print title
  print len(title) * '_'

... который несколько проходит визуально, но также возвращает значение None.(есть идеи, почему это так?) Поэтому вместо этого я попытался:

def underline(title): 
  print title, \nlen(title) * '_'

... и получил ошибку «неожиданный символ после символа продолжения строки».Обращение сюда после Google было менее чем полезно с этой ошибкой.

Ответы [ 2 ]

3 голосов
/ 02 ноября 2011

Ну, вы не хотите печатать эти строки, вы хотите вернуть их.

Итак, создайте строку, которая объединяет их вместе (разделенных символом новой строки) и верните ее.

def underline(title):
    return title + '\n' + len(title) * '_'
1 голос
/ 02 ноября 2011

Процитируйте вашу новую строку

def underline(title): 
    print title, '\n', len(title) * '_'

Хорошая мысль Джеффа (вот почему ваше утверждение возвращает None), я указывал, что является причиной этой ошибки продолжения строки.

Как гласит ошибка, символ продолжения строки \ не ожидает никаких символов после него:)

...