Chinaunix首页 | 论坛 | 博客
  • 博客访问: 420659
  • 博文数量: 77
  • 博客积分: 2303
  • 博客等级: 大尉
  • 技术积分: 808
  • 用 户 组: 普通用户
  • 注册时间: 2004-11-30 09:15
文章存档

2015年(1)

2013年(3)

2012年(2)

2011年(46)

2009年(4)

2008年(2)

2005年(12)

2004年(7)

我的朋友

分类: Python/Ruby

2011-02-14 14:55:11

str='八百零七万九千二百零八'

高人写的....

  1. #coding=gbk
  2. b = '三千五百二十三'
  3. a = '七十五亿八百零七万九千二百零八'
  4. c = '四万三千五百二十一'
  5. d = '三千五百二十一'
  6. e = '三千五百零八'


  7. dict ={'零':0,'一':1,'二':2,'三':3,'四':4,'五':5,'六':6,'七':7,'八':8,'九':9,'十':10,'百':100,'千':1000,'万':10000,'亿':100000000}
  8. def getResultForDigit(a):
  9.     count = 0
  10.     result = 0
  11.     tmp = 0
  12.     Billion = 0
  13.    
  14.     while count < len(a):
  15.         tmpChr = a[count:count+2]
  16.         print tmpChr
  17.         tmpNum = dict[tmpChr]
  18.          #如果等于1亿
  19.         if tmpNum == 100000000:
  20.             result = result + tmp
  21.             result = result * tmpNum
  22.             #获得亿以上的数量,将其保存在中间变量Billion中并清空result
  23.             Billion = result
  24.             result = 0
  25.             tmp = 0
  26.         #如果等于1万
  27.         if tmpNum == 10000:
  28.                 result = result + tmp
  29.                 result = result * tmpNum
  30.         #如果等于十或者百,千
  31.         elif tmpNum >= 10:
  32.             result = result + tmpNum * tmp
  33.             tmp = 0
  34.         #如果是个位数
  35.         else:
  36.             tmp = tmpNum
  37.         count = count + 2
  38.     result = result + tmp
  39.     result = result + Billion
  40.     print result

  41. if __name__ =="__main__":
  42.    
  43.     getResultForDigit(e)
  44.     print len(e)

阅读(1113) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~