Рубрики

Python | Повторите строку до K

Иногда, работая со строками, мы можем столкнуться с вариантом использования, в котором нам нужно повторить нашу строку до размера K, даже если последняя строка может быть неполной, но должна остановиться, так как размер строки становится K. Задача повторения строки K раз, сравнительно проще, чем эта проблема. Давайте обсудим пути выхода, которые мы можем выполнить, чтобы решить эту проблему.

Метод № 1: Использование нарезки списка и // operator

Эта задача может быть выполнена с использованием вышеуказанных инструментов. В этом случае мы просто умножаем строку до тех пор, пока она не станет больше или равна K, а затем просто опустим часть дополнительной строки, используя метод нарезки списка.

# Python3 код для демонстрации
# Повторять строку до K
# используя нарезку списка и // оператор

  
# инициализирующая строка

test_string = "GeeksforGeeks"

  
# инициализация K

K = 30

  
# печать оригинальной строки

print("The original string : " + str(test_string))

  
# используя нарезку списка и // оператор
# Повторять строку до K

res = (test_string * (K//len(test_string)+ 1))[:K]

  
# результат печати

print("String after performing repeatition : " + res)

Выход :

The original string : GeeksforGeeks
String after performing repeatition : GeeksforGeeksGeeksforGeeksGeek

Способ № 2: Использование divmod() + нарезка списка

Разделение, применяемое в вышеупомянутом методе, может быть заменено в этом методе функцией divmod , которая улучшает читаемость кода с затратами на 40% снижения производительности.

# Python3 код для демонстрации
# Повторять строку до K
# используя divmod () + нарезка списка

  
# инициализирующая строка

test_string = "GeeksforGeeks"

  
# инициализация K

K = 30

  
# печать оригинальной строки

print("The original string : " + str(test_string))

  
# используя divmod () + нарезка списка
# Повторять строку до K

div, mod = divmod(K, len(test_string))

res = test_string * div + test_string[:mod]

  
# результат печати

print("String after performing repeatition : " + res)

Выход :

The original string : GeeksforGeeks
String after performing repeatition : GeeksforGeeksGeeksforGeeksGeek

Рекомендуемые посты:

Python | Повторите строку до K

0.00 (0%) 0 votes