Как повторить строку в Python до определенной длины - PullRequest
0 голосов
/ 30 октября 2018

Я работаю на Python 2, я пробовал код, доступный на этом сайте, но ничего не получалось. это пример кода, который я использовал, однако он не работал:

def repeat_to_length(string_to_expand, length):
   return (string_to_expand * ((length/len(string_to_expand))+1))[:length]

Я чрезвычайно новичок в программировании и использовании python, поэтому буду признателен, если кто-нибудь сможет помочь мне указать мою ошибку

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

При делении len () на длину необходимо обеспечить (преобразовать) результат в целое число: Редактировать : приведение необходимо в Python 3, а не Python 2

def repeat_to_length(string_to_expand, length):
   return (string_to_expand * (int(length/len(string_to_expand))+1))[:length]

result = repeat_to_length("hello", 22)
print(result)

Множитель для строки должен быть целочисленным значением, а не с плавающей запятой.

hellohellohellohellohe

[:length] - это нотация последовательности фрагментов , она принимает символы от начала строки до длинных символов.

0 голосов
/ 30 октября 2018
string1 = 'abcd'
length = 10
string2 = string1 * length
print(string2)

truncateLength = 15
print(string2[0 : truncateLength])

Исходная строка:

abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd

Усеченная строка:

abcdabcdabcdabc
...