Задача 10: Повторение строки с заданным разделителем

Вам нужно написать программу, которая принимает строку s, число n, и строку sep для разделителя. Выведите строку s n раз, разделяя каждый вывод строкой sep.

Пример:

Входные данные:

Hello
3
-

Выходные данные:

Hello-Hello-Hello

0

Комментарии

artom_avatar
artom
,
6 месяцев, 9 дней назад
Написал такой код s = input() n = int(input()) sep = str(input()) print (s * n, sep=sep) Подскажите, где ошибся, подозреваю, что где-то ошибка в print(), или???
0
perminoff_avatar
perminoff
,
6 месяцев, 8 дней назад
artom, Если мы просто умножаем строку n раз, то не будет подставлен разделитель sep. Тут правильно складывать строку с разделителем и умножать ее print((s + sep) * (n - 1) + s)
1
alexkor_avatar
alexkor
,
1 месяц, 6 дней назад

perminoff, а зачем для переменной sep указывать вначале, что это строка: sep = str(input())? Ведь если для переменной мы пишем sep = input(), то уже понимаем, что это строковое значение. Да и идеальным вообще было бы использование метода .join, который будет далее, поэтому может подумать над изменением этой задачи, ведь по идее, в перспективе, наверно. так правильнее:
s = input()
n = int(input())
sep = input()
print(sep.join([s]*n))

0
admin_avatar
admin
,
1 месяц, 6 дней назад

alexkor, Так это 2 модуль, в котором ещё не разбираются методы, но тут наглядно показано, как можно зная базовые принципы арифметики, формировать строку должным образом, использование str() в данном случае и правда необязательно, но вы можете его и не использовать)

1
Laid_avatar
Laid
,
13 дней назад

perminoff, Доброго часа. А откуда -1 взялось? И зачем?

0
perminoff_avatar
perminoff
,
12 дней назад

Laid, Мы выводим s строку с sep разделителем n - 1 раз, и в конце выводим еще раз строку, но уже без разделителя.

0
artom_avatar
artom
,
6 месяцев, 7 дней назад
ОК, спасибо!
0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии