大家应该都知道,银行打印账单有时候会跟上人民币的阿拉伯数字以及人民币汉字大写写法,转换的过程中有一定的逻辑难度,较为麻烦,所以笔者心血来潮,花了点时间简单实现了一下这一转换过程,以供初学者参考。

输入样例:

123.22

输出样例:

壹佰贰拾叁圆贰角贰分

参考代码:

#!/usr/bin/env python# encoding: utf-8from __future__ import print_functionimport sysimport reimport base64import timeimport osimport getpassreload(sys)sys.setdefaultencoding("utf-8")char_arr_01 = [u"零".decode("utf8"), u"壹".decode("utf8"), u"贰".decode("utf8"), u"叁".decode("utf8"), u"肆".decode(    "utf8"), u"伍".decode("utf8"), u"陆".decode("utf8"), u"柒".decode("utf8"), u"捌".decode("utf8"), u"玖".decode("utf8")];char_arr_02 = [u"圆".decode("utf8"), u"拾".decode("utf8"), u"佰".decode("utf8"), u"仟".decode("utf8"), u"万".decode("utf8"), u"拾".decode("utf8"), u"佰".decode("utf8"), u"仟".decode(    "utf8"), u"亿".decode("utf8"), u"拾".decode("utf8"), u"佰".decode("utf8"), u"仟".decode("utf8"), u"万".decode("utf8"), u"拾".decode("utf8"), u"佰".decode("utf8")]char_arr_03 = [u"分".decode("utf8"), u"角".decode("utf8")]def calcRMB():sum_arr = []in_str_dot = ""in_str_Big = ""flag = 0dot_count = 0in_str = raw_input("Please input number : ")for i in in_str:if i == '.':dot_count += 1elif ord(i) = ord('z') and ord(i) = ord('A'):print("Error")returnif len(in_str) 12 or dot_count 1:print("Error")returnin_str = unicode(in_str).decode("utf8")out_str = ""if in_str.find('.') != -1:flag = 1sum_arr = in_str.split('.')in_str_Big = sum_arr[0]if flag==1:in_str_dot = sum_arr[1]for i in range(len(in_str_Big)):if cmp(in_str_Big[i],'0') == 0 and (len(in_str_Big)-1-i)%4 != 0:out_str = out_str + char_arr_01[ord(in_str_Big[i])-ord('0')]else:out_str = out_str + char_arr_01[ord(in_str_Big[i])-ord('0')]out_str = out_str + char_arr_02[len(in_str_Big)-1-i]while out_str.find(u"零零".decode("utf8")) != -1:out_str = out_str.replace(u"零零".decode("utf8"), u"零".decode("utf8"))out_str = out_str.replace(u"零亿".decode("utf8"),u"亿".decode("utf8"))out_str = out_str.replace(u"零万".decode("utf8"),u"万".decode("utf8"))if out_str != u"零元".decode("utf8"):out_str = out_str.replace(u"零圆".decode("utf8"),u"圆".decode("utf8"))if len(in_str_dot) 2 and flag == 1:print("False !!")returnif flag == 1:for i in range(len(in_str_dot)):out_str = out_str + char_arr_01[ord(in_str_dot[i])-ord('0')]out_str = out_str + char_arr_03[len(in_str_dot)-1-i]print(out_str)def main():while 1:os.system("cls")calcRMB()print()end_flag = raw_input("Try Again ? (y/n)")if end_flag == 'y' or end_flag == 'Y':continueelif end_flag == 'n' or end_flag == 'N':breakelse:print("Error!!")breakif __name__ == '__main__':main()

python人民币小写转大写_Python小程序人民币小写转大写辅助工具相关推荐

  1. python人民币小写转大写_Python小程序 -- 人民币小写转大写辅助工具

    大家应该都知道,银行打印账单有时候会跟上人民币的阿拉伯数字以及人民币汉字大写写法,转换的过程中有一定的逻辑难度,较为麻烦,所以笔者心血来潮,花了点时间简单实现了一下这一转换过程,以供初学者参考. 输入 ...

  2. python给四个人发牌_python小程序之4名牌手洗牌发牌问题解析

    本文为大家解析了python实现4名牌手洗牌发牌的问题,供大家参考,具体内容如下 编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌.创建函数gen_p ...

  3. python计算一元二次_Python小程序-写一个计算一元二次方程的程序函数

    题目要求: 请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:ax^2 + bx + c = 0的两个解. 程序代码: 这只是一个函数,如果你不调用它的话,是不会产生 ...

  4. 数字用计算机写大写,微信小程序学习用:大写计算器;数字转换为大写

    [AppleScript] function digitUppercase(n) { var fraction = ['角', '分']; var digit = [ '零', '壹', '贰', ' ...

  5. python软件代码示例-用Python写一个模拟qq聊天小程序的代码实例

    Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...

  6. Python 练习册,每天一个小程序

    Python 练习册,每天一个小程序 说明: Python 练习册,每天一个小程序.注:将 Python 换成其他语言,大多数题目也适用 不会出现诸如「打印九九乘法表」.「打印水仙花」之类的题目 点此 ...

  7. 能不能用python开发qq_用Python写一个模拟qq聊天小程序的代码实例

    用Python写一个模拟qq聊天小程序的代码实例 发布时间:2020-09-09 07:49:29

  8. python+requests对app和微信小程序进行接口测试

    对于web端和app端的接口测试来说,他们都是通过请求方法,url和传递的body参数进行接口请求,区别web和app的区别就是header请求的不同.不同的地方在于header中的User-Agen ...

  9. python扫描app接口_[分享】python+requests对app和微信小程序进行接口测试

    对于web端和app端的接口测试来说,他们都是通过请求方法,url和传递的body参数进行接口请求,区别web和app的区别就是header请求的不同.不同的地方在于header中的User-Agen ...

最新文章

  1. 网络工程师必备知识:苹果MAC系统下使用USB转console线配置交换机的连接方法
  2. 平安数据中心高可用运维白皮书
  3. 前端学习(2840):nevagator导航标签
  4. 蒙特卡洛方法_程序媛转TA之理论篇十三:蒙特卡洛方法
  5. git rm -r --cached_【Git】工作中99%能用到的git命令
  6. CentOS7中编译安装redis5.0
  7. kafka 的pom文件_基于SparkStreaming+Kafka+HBase实时点击流案例
  8. httpd-2.2部署Discuz!论坛系统、wordpress博客系统和phpMyAdmin程序
  9. 小白也会用的SQL优化工具推荐
  10. EDA技术实用教程 | 复习十二 | 序列检测器
  11. 木材材积表快速计算器_木材材积表快速计算器
  12. 连云港师范专科学校计算机老师,喜报:我校学生在2021年中国大学生计算机设计比赛江苏省赛中获一等奖...
  13. Java中,如何把ascii码转换成字符?
  14. 网络训练 (总结5)
  15. 计算机教学音乐,计算机音乐的教学和应用研究
  16. 乘车码来了,地铁公交都可以刷微信了
  17. 装饰器模式——爱江山更爱美人
  18. 国家统计局:中国未现通货紧缩
  19. Pylint同时屏蔽多个报错信息
  20. spark学习-BlockManager原理

热门文章

  1. Linux GPIO操作分析 - Exynos 5260
  2. 带你走近微软最“动听”的程序媛 | 女神节特辑
  3. 针对网页开发者的滚动锚定功能
  4. 报告解读下载 | 11月《中国数据库行业分析报告》发布,精彩抢先看
  5. PostgreSQL COALESCE 和 NULLIF 函数
  6. “amp”是什么意思
  7. 华为最新鸿蒙消息,飞象网项立刚:华为鸿蒙7年后全球第一!网友:oppo第一个反对!...
  8. 数字微镜器件(DMD)呈现不同灰度(强度)原理的验证实验
  9. 远程桌面启动安卓模拟器
  10. 七牛云的免费SSL证书申请和用法