def sum_of_letters(num): summation = 0 for number in range(1, num + 1): for letter in num2word.to_card(number): if letter != " " and letter != "-": summation += 1 return summation
def main(): l = [] for i in xrange(1, 1001): s = num2word.to_card(i) l.extend(re.findall(r"[\w']+", s)) count = 0 for word in l: count += len(word) return count
# -*- coding: utf-8 -*- """ Created on Tue Oct 21 21:00:29 2014 @author: Anshumaan """ ## This is a solution to problem 17 in project euler. import num2word letters = 0 for i in range(1, 1001): s = num2word.to_card(i) des_s = s.replace(" ", "").replace("-", "") letters += len(des_s) print letters
import num2word print(num2word.to_card(5))
def numberToWord(self, number): convertedWord = num2word.to_card(number) if(self.formatWord == "ALPHA"): return convertedWord.upper() else: return convertedWord
#!/usr/bin/env python import num2word while True: try: print('Number in words: %s'%(num2word.to_card(int(raw_input("Please enter a number: "))))) except ValueError: print "Oops! That was no valid number. Try again..." val = raw_input("Do you want to continue (Y/N): ") if val != "y" and val != "Y": break
def get_string_length(s): s = re.sub('-', ' ', num2word.to_card(s)) # change hyphens to spaces l = sum( i != ' ' for i in s) # don't count spaces return l
import num2word print num2word.to_card(15)
import num2word num2word.to_card(15) 'fifteen' num2word.to_card(55) 'fifty-five' num2word.to_card(1555) 'one thousand, five hundred and fifty-five'
def format_text(txt,ftype): if((txt == None)or(txt.replace(" ","").replace("\n","").replace("\r","").replace("\t","") == "")): if(txt == None): txt = ""; return txt; res = trim_lead(trim_trail(txt.replace("\n","").replace("\r","").replace("\t","")," ")," "); res = res.replace("\\","\\\\").replace("'","\\'").replace('"','\\"'); # Deal with verbose numbers. tl = re.split("[^a-zA-Z0-9_]{1}",res); m = None; try: #print "Attempting: %s\n" % (res); m = text2int(res); except: pass; if(m != None): res = str(m); #print "Test: "+res+"\n"; else: y = []; yd = {}; for x in tl: try: tx = x; k = None; try: k = int(x); except: pass; if(isinstance(k, (int, long))): tx = num2word.to_card(k); n = text2int(tx); p = res.find(x); if(x in yd): tmp = yd[x]; p = res.find(x,tmp+1); yd[x] = p; else: yd[x] = p; y.append([tx,p,n,len(x)]); #res = "%s%s%s" % (res[0:p],str(n),res[(p+len(x)):]); #m = text2int(res); #res = except: try: if(len(y) > 0): t = ""; sp = None; ep = None; for z in y: t = "%s %s" % (t,z[0]); if(sp == None): sp = z[1]; et = z[1] + z[3]; if((ep == None)or(et > ep)): ep = z[1] + z[3]; n = str(text2int(t)); res = "%s%s%s" % (res[0:sp],n,res[ep:]); y = None; pass; except: pass; try: if(len(y) > 0): t = ""; sp = None; ep = None; for z in y: t = "%s %s" % (t,z[0]); if(sp == None): sp = z[1]; ep = z[1] + len(z[0]); n = str(text2int(t)); res = "%s%s%s" % (res[0:sp],n,res[ep:]); pass; pass; except: pass; #print "Test2: "+res+"\n"; if(ftype == 0): return res.lower().replace(" ","_"); elif(ftype == 1): rr = res.lower().split(" "); sep = ""; tmp = ""; for r in rr: tmp += sep + str(r[0]).upper() + r[1:len(r)]; sep = " "; res = tmp.replace(" ","_"); return res; elif(ftype == 2): return res.upper().replace(" ","_"); elif(ftype == 3): rr = res.lower().split(" "); sep = ""; tmp = ""; for r in rr: if(sep == ""): tmp += sep + r[0].lower() + r[1:len(r)]; else: tmp += sep + r[0].upper() + r[1:len(r)]; sep = " "; res = tmp.replace(" ",""); return res; elif(ftype == 4): rr = res.lower().split(" "); sep = ""; tmp = ""; for r in rr: tmp += sep + r[0].upper() + r[1:len(r)]; sep = " "; res = tmp.replace(" ",""); return res; elif(ftype == 5): return res.upper().replace(" ",""); return txt;
from num2word import to_card a = "" for i in range(1, 1001): a = a + to_card(i) a = a.translate(None, ' -') print a print len(a)