Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Inspiration from Project Euler problem 17: https://projecteuler.net/problem=17 ##
- #
- #
- #
- # importing #
- import random
- #
- #
- #
- def SpellNumberBelowHundred(num):
- # Fill and define dictionaries #
- text_ones = ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
- ones = {t+1:n for t, n in enumerate(text_ones)}
- text_tens = ["twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"]
- tens = {(t+2):n for t, n in enumerate(text_tens)}
- teens = ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"]
- # spell number #
- # num has length 2 #
- num = str(num)
- if len(num) > 1:
- if num[0] == "1":
- spell = teens[eval(num[1])]
- else:
- if num[1] != "0":
- spell = tens[eval(num[0])] + ones[eval(num[1])]
- else:
- spell = tens[eval(num[0])]
- else:
- spell = ones[eval(num)]
- return spell
- #
- #
- def SpellNumberBelowThousand(num):
- # num has length 3 #
- #
- # first take care of the whole hundreds #
- if num % 100 == 0:
- spell = SpellNumberBelowHundred(eval(str(num)[0])) + "hundred"
- else:
- num = str(num)
- # spell number #
- if len(num) < 3:
- spell = SpellNumberBelowHundred(eval(num))
- else:
- spell = SpellNumberBelowHundred(eval(num[0])) + "hundredand"
- if num[1] == "0":
- spell += SpellNumberBelowHundred(eval(num[2]))
- else:
- spell += SpellNumberBelowHundred(eval(num[1] + num[2]))
- return spell
- #
- #
- def SpellNumWordsCycle(start_word):
- start_length = len(start_word)
- start_spell = SpellNumberBelowThousand(start_length)
- print(f"{start_word} - {start_length}")
- num_word = start_spell
- num_word_len = len(num_word)
- print(f"{num_word} - {num_word_len}")
- while num_word_len != 4:
- num_word = SpellNumberBelowThousand(num_word_len)
- num_word_len = len(num_word)
- print(f"{num_word} - {num_word_len}")
- print("four - 4")
- #
- # main program#
- def main():
- user_word = input("Skriv inn et ord: ")
- SpellNumWordsCycle(user_word)
- #
- #
- #
- # run program #
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment