Skip to content

Instantly share code, notes, and snippets.

@vayn
Created August 17, 2013 17:07
Show Gist options
  • Select an option

  • Save vayn/6257829 to your computer and use it in GitHub Desktop.

Select an option

Save vayn/6257829 to your computer and use it in GitHub Desktop.
An interesting exercise from __Rapid GUI Programming with Python and Qt__
# vim: set fileencoding=utf-8:
def incrementString(char):
if char.isalpha():
char = char.upper()
else:
raise ValueError
char_len = len(char)
ord_list = [ord(s) for s in reversed(char)]
for i in range(char_len):
o = ord_list[i]
if (o + 1) <= 90:
ord_list[i] += 1
break
else:
ord_list[i] = 65
if (i + 1) == char_len:
ord_list.append(65)
break
char = ''.join([chr(s) for s in reversed(ord_list)])
return char
if __name__ == '__main__':
print(incrementString('A'))
print(incrementString('Z'))
print(incrementString('AM'))
print(incrementString('AZ'))
print(incrementString('BA'))
print(incrementString('BZ'))
print(incrementString('ZZA'))
print(incrementString('ZZZ'))
print(incrementString('AAAA'))
print(incrementString('AAAZ'))
print(incrementString('ABC2'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment