Monday, February 21, 2022

String incrementer Python Codewars

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"))



Related Posts


No comments :

Post a Comment