[#] Линейные алгоритмы
vit01(mira, 1) — All
2015-12-04 04:13:40


В 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