我有一个字符串,例如
s1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse egesta'
s2 = 'Lorem'
我需要填写#34; _" (或其他字符)长度是20的倍数,如下所示:
s1f = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse egesta_____'
s2f = 'Lorem____________________'
我该怎么办?我知道我可以使用ljust但我不知道如何计算其余部分的长度。
答案 0 :(得分:4)
有一种名为ljust
的方法:
get_header
为了减少单行中的混乱,您只需创建一个单独的函数:
>>> s2f = 'Lorem'
>>> s2f = s2f.ljust(len(s2f) + (20 - len(s2f) % 20), '_')
>>> s2f
'Lorem_______________'
然后,
>>> def get_multiples(string):
return len(string) + (20 - len(string) % 20)
答案 1 :(得分:0)
这里有sberry" 20-len(sf1)%20"想法。
def charfiller(the_string, filler_character, multiple_of):
extra_characters = multiple_of - len(the_string) % multiple_of
the_string = the_string + (filler_character * extra_characters)
return the_string
s1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse egesta'
s2 = 'Lorem'
s1_filled = charfiller(s1, '_', 20)
s2_filled = charfiller(s2, '_', 20)
print s1_filled
print s2_filled
print len(s1_filled)
print len(s2_filled)
Lorem ipsum dolor坐下来,精神上的精神。 Suspendisse egesta_____ 的Lorem _______________
80
20
答案 2 :(得分:-2)
这样的东西?
string_to_modify = "something"
str_ = ''
for i in range(20 - len(string_to_modify ) % 20)
str_ = str_+"_"
string_to_modify = string_to_modify + str_