Skip to content

Instantly share code, notes, and snippets.

@programmingthomas
Created December 24, 2012 09:44
Show Gist options
  • Save programmingthomas/4368610 to your computer and use it in GitHub Desktop.
Save programmingthomas/4368610 to your computer and use it in GitHub Desktop.
Happy Birthday in age base
def baseToBase(originalNumber, originalBase, newBase):
originalNumber = str(originalNumber)
numberAsInteger = 0
for n in range(0, len(originalNumber)):
numberAsInteger = (numberAsInteger * len(originalBase)) + int(originalBase[originalBase.find(originalNumber[n])])
newNumber = ""
if (numberAsInteger == 0): newNumber = "0"
else:
while (numberAsInteger > 0):
newNumber = newBase[int(numberAsInteger % len(newBase))] + newNumber
numberAsInteger = (numberAsInteger - numberAsInteger % len(newBase)) / len(newBase)
return newNumber
def base(number):
bases = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
return bases[0:number]
def suffix(number):
if number % 100 >= 10 and number % 100 < 20: return "th"
elif number % 10 == 1: return "st"
elif number % 10 == 2: return "nd"
elif number % 10 == 3: return "rd"
else: return "th"
person = "REPLACE_WITH_PERSON_NAME"
age = 10 #Replace with whatever age they are. The age is the base the value is converted into
string = "Happy " + str(age) + suffix(age) + " Birthday " + person + "!"
newString = ""
for character in string:
newCharacter = baseToBase(ord(character), base(10), base(age))
newString += newCharacter + " "
print(string)
print(newString)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment