Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class AlignableStr(str):
- def __init__(self, *args):
- pass
- def align(self, length):
- value = str()
- cnt = 0
- for letter in self:
- if letter == ' ':
- cnt += 1
- try:
- num_of_space = (length - len(self)) // cnt + 1
- add_space = (length - len(self)) % cnt
- except ZeroDivisionError:
- value = self + ' '*(length - len(self))
- return value
- if num_of_space < 1:
- return self
- for letter in self:
- if letter != ' ':
- value += letter
- else:
- value += ' '*num_of_space
- for letter in value:
- if letter == ' ':
- value = value[:value.index(letter)+1] + ' '*add_space + value[value.index(letter)+1:]
- break
- return value
- s = AlignableStr(input())
- print(s.align(10))
- print(len(s.align(10)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement