题解 | #学英语#
学英语
https://www.nowcoder.com/practice/1364723563ab43c99f3d38b5abef83bc
# 输入的long型整数,不用,分开 while 1: try: n_long=input() yu=len(n_long)%3 n=len(n_long)//3 #print(list(range(0,3*2,3))) if yu!=0: n_long1=[n_long[:yu]] else: n_long1=[] for i in range(0,3*n,3): a=n_long[yu:][i]+n_long[yu:][i+1:i+3] #print(a) n_long1.append(a) #print(n_long1) map1=['','one','two','three','four','five','six','seven','eight','nine','ten','eleven','twelve','thirteen','fourteen','fifteen','sixteen','seventeen','eighteen','nineteen'] map2=['','','twenty','thirty','forty','fifty','sixty','seventy','eighty','ninety'] trans=[] for i in n_long1: n=i.zfill(3) tran=[] if n[0]!='0': tran.extend([map1[int(n[0])],'hundred']) if int(n[1:])==0: tran = tran elif 0<int(n[1:])<20: tran.extend(['and',map1[int(n[1:])]]) elif int(n[1:])>=20: tran.extend(['and',map2[int(n[1])]]) if n[2]!='0': tran.append(map1[int(n[2])]) else: tran = tran if int(n[1:])==0: tran = tran elif 0<int(n[1:])<20: tran.append(map1[int(n[1:])]) elif int(n[1:])>=20: tran.append(map2[int(n[1])]) if n[2]!='0': tran.append(map1[int(n[2])]) #print(tran) trans.append(' '.join(tran)) #print(trans) English='' if len(trans)==4: English = trans[0]+' '+'billion'+' '+trans[1]+' '+'million'+' '+trans[2]+' '+'thousand'+' '+trans[3] elif len(trans)==3: English = trans[0]+' '+'million'+' '+trans[1]+' '+'thousand'+' '+trans[2] elif len(trans)==2: English = trans[0]+' '+'thousand'+' '+trans[1] elif len(trans)==1: English = trans[0] print(English) except: break ''' s='1234567' print(s[::-3][::-1]) yu=len(s)%3 n=len(s)//3 #print(list(range(0,3*2,3))) a_l=[s[:yu]] for i in range(0,3*n,3): a=s[yu:][i]+s[yu:][i+1:i+3] print(a) a_l.append(a) print(a_l)'''