Конкатенация и повторение строк (Python)

Тема: 
Линейные алгоритмы

В Python над двумя строками можно выполнить операцию, обозначаемую знаком +. Однако, в отличие от чисел, выполняетя не сложение (что для строк в принципе невозможно), а соединение, т. е. к концу первой строки добавляется вторая. По-другому операция соединения строк называется конкатенацией.

Кроме того, в Python есть операция повторения (мультипликации) строки. Она обозначается знаком * (также как операция умножения для чисел). При повторении строки с одной стороны от знака * ставится строка, а с другой число, обозначающее количество повторов. При этом не важно, какой объект с какой стороны находится (слева от знака можно писать число, а справа - строку).

В одном выражении можно сочетать операции конкатенации и мультипликация. При этом более высокий приоритет у операции повторения строки. Это видно в примере ниже: когда опущены скобки, то сначала строка s2 повторяется n раз, а затем результат присоединяется к s1.

s1 = input("Введите первую строку: ")
s2 = input("Введите вторую строку: ")
n = int(input("Введите количество повторов: "))
 
print(s1 + s2 * n)
print((s1 + s2) * n)
print(s1 + str(n)) # error if just (s1 + n)
print('^' * 20)
print('Hello' + 'world')
print('Hello','world')

В последней строке кода конкатенации нет. Просто функции print() передано два аргумента, которые она выводит на экран.

Результат выполнения скрипта:

Введите первую строку: rt
Введите вторую строку: -
Введите количество повторов: 5
rt-----
rt-rt-rt-rt-rt-
rt5
^^^^^^^^^^^^^^^^^^^^
Helloworld
Hello world