Python入门练习0009:人民币金额打印
2017-04-08 10:39
567 查看
题目:人民币金额打印
银行在打印票据的时候,常常需要将阿拉伯数字表示的人民币金额转换为大写表示,现在请你来完成这样一个程序。 在中文大写方式中,0到10以及100、1000、10000被依次表示为: 零壹贰叁肆伍陆柒捌玖拾佰仟万 以下的例子示范了阿拉伯数字到人民币大写的转换规则: 1 壹圆 11 壹拾壹圆 111 壹佰壹拾壹圆 101 壹佰零壹圆 -1000 负壹 9ff4 仟圆 1234567 壹佰贰拾叁万肆仟伍佰陆拾柒圆 现在给你一个整数a(|a|<100000000), 打印出人民币大写表示. 注意:请以Unicode的形式输出答案。你可以通过decode("utf8")来将utf8格式的字符串解码为Unicode,例如你要输出ans = "零圆", print ans.decode("utf8"). Note:数据已于2013-11-19日加强,原来通过的代码可能不能再次通过。
答案:一个好的约定可以少些很多代码 #-*- coding:utf-8 -*- N = {0:'零',1:'壹',2:'贰',3:'叁',4:'肆',5:'伍',6:'陆',7:'柒',8:'捌',9:'玖'} M = ['亿','仟','佰','拾','萬','仟','佰','拾','圆'] while True: a = int(raw_input('please enter a number:')) if len(str(a))>9: print 'the number is to long' break b = abs(a) New =[] for st in str(b): if int(st) in N.keys(): New.append(N[int(st)]) L=M[-len(New):] S ='' for (x,y) in zip(New,L): S+=x+y if a<0: print u'负'+S.decode('utf8') else: print S.decode('utf8')
相关文章推荐
- Python 练习 人民币金额打印
- 人民币金额打印 分类: python 小练习 python基础学习 2013-12-06 12:38 336人阅读 评论(0) 收藏
- django+python+eclipse 入门hello,打印时间
- 人民币金额大写 在与财务相关的应用中,经常会用到人民币金额的大写,比如发票的打印程序。 本题的任务是:从键盘输入一个十亿以内的正整数(int类型),把它转换为人民币金额大写(不考虑用户输入错误
- Python 数据学习入门之 django Blog 项目实战练习
- Python入门练习0005:输出最大公约数 & 最小公倍数
- Python入门练习0004:输出L的中位数
- Python入门练习(一):基于全切分,一元语法模型的汉语分词
- Python(编程小白的第一本 Python 入门书) 学习笔记2——代码练习
- python openpyxl练习--打印九九乘法表到excel中。
- python练习-从网上下载一个文件并打印出来
- Python入门练习0008:输出整数a在二进制表示下1的个数
- Python入门小练习
- Python入门小练习-001-备份文件
- python入门练习笔记_2
- Python零基础入门二十八之界面设计练习、Entry验证函数
- 人民币金额打印
- Python入门小练习 002 批量下载网页链接中的图片
- Python入门练习0002:输出字典a的key(20170329)
- python入门代码练习