From 1879caa1dd80cb11dd62403663917ad4bf7cc68e Mon Sep 17 00:00:00 2001 From: Charles Date: Sun, 11 Aug 2019 22:41:34 +0200 Subject: rename all file with 3 zero padding --- python/017-number_letter_count.py | 56 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 python/017-number_letter_count.py (limited to 'python/017-number_letter_count.py') diff --git a/python/017-number_letter_count.py b/python/017-number_letter_count.py new file mode 100644 index 0000000..9998831 --- /dev/null +++ b/python/017-number_letter_count.py @@ -0,0 +1,56 @@ +w_nums = { + '0': '', + '00': '', + '1': 'one', + '2': 'two', + '3': 'three', + '4': 'four', + '5': 'five', + '6': 'six', + '7': 'seven', + '8': 'eight', + '9': 'nine', + '10': 'ten', + '11': 'eleven', + '12': 'twelve', + '13': 'thirteen', + '14': 'fourteen', + '15': 'fifteen', + '16': 'sixteen', + '17': 'seventeen', + '18': 'eighteen', + '19': 'nineteen', + '20': 'twenty', + '30': 'thirty', + '40': 'forty', + '50': 'fifty', + '60': 'sixty', + '70': 'seventy', + '80': 'eighty', + '90': 'ninety', + '100': 'hundred', + '1000': 'thousand' +} +w_nums = {key: len(val) for (key, val) in w_nums.items()} + +def two_digit_num(num): + if num[0] == '1': + return w_nums[num] + else: + return w_nums[num[0] + '0'] + w_nums[num[1]] + + +c = 0 +for num in [str(n) for n in range(1, 1001)]: + c += [ + lambda: w_nums[num], + lambda: two_digit_num(num), + lambda: ( + w_nums[num[0]] + w_nums['100'] + + (len('and') if num[1:] != '00' else 0) + + two_digit_num(num[1:]) + ), + lambda: len('onethousand') + ][len(num)-1]() + +print(c) -- cgit