Task:
Your job is to write a function which increments a string, to create a new string.
- If the string already ends with a number, the number should be incremented by 1.
- If the string does not end with a number. the number 1 should be appended to the new string.
Examples:
foo -> foo1
foobar23 -> foobar24
foo0042 -> foo0043
foo9 -> foo10
foo099 -> foo100
Attention: If the number has leading zeros the amount of digits should be considered.
Solution:
def increment_string(strng):
num = ''
strn = ''
head = strng.rstrip('0123456789')
tail = strng[len(head):]
for l in strng:
if l.isdigit():
num += l
else:
strn += l
return strn+str(int(num)+1).zfill(len(tail))
print(increment_string("foobar0043"))
No comments :
Post a Comment