python初学者笔记(2):阿拉伯数字转换成中文大写
题:输入一个数字,转换成中文大写的写法
可运行的程序(Python 2.7.9):
# -*- coding: utf-8 -*- #在python2的py文件里面写中文,必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码
dic_num={"":u"零","":u"壹","":u"贰","":u"叁","":u"肆","":u"伍","":u"陆","":u"柒","":u"扒","":u"玖"}
dic_unit={0:u"",1:u"拾",2:u"佰",3:u"仟",4:u"万"} flag = True while flag:#保证程序能反复运行
shu = []
big = ''
num = raw_input("请输入数字(范围在1~99999之间),若输入q则退出程序:".decode('utf-8').encode('gbk'))
if num == 'q' or num == 'Q':
flag = False
elif int(num) < 1 or int(num) > 99999:
print "错误!请输入1~99999之间的数字!\n".decode('utf-8').encode('gbk')
continue
else:
listnum = list(num)
lennum = len(listnum)-1
for item in listnum:
shu.append(dic_num[item])#先取输入数字中的第一个数对应的中文大写加到shu列表里,后续循环
shu.append(dic_unit[lennum])#例:4位数就取dic_unit中3对应的“仟”加到shu的第一个数字后面,后续循环
lennum -=1
big = ''.join(shu)
print big.encode('gbk')
print "\n"
注:刚刚学习的初级程序写法,有很多不全的地方,比如:1.输入“082”开头是0的数字一样会输出“零佰扒拾贰”,应该需要更多的判断语句;2.输入“034354”会直接报错,应该没有加异常处理造成的结果。
后续会继续学习,欢迎大神补充更完善的写法。
源自:DuShuSir.com
python初学者笔记(2):阿拉伯数字转换成中文大写的更多相关文章
- oracle改进之将阿拉伯数字转换成中文数字
本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处 http://www.cnblogs.com/king-xg/p/6839738.html 将阿拉伯数字转 ...
- JS把数字金额转换成中文大写数字的函数
//把数字金额转换成中文大写数字的函数 function num2rmb ($num){ $c1="零壹贰叁肆伍陆柒捌玖"; $c2="分角元拾佰仟万拾佰仟亿" ...
- js 将数字转换成中文大写
//完成将 toChineseNum, 可以将数字转换成中文大写的表示,处理到万级别,例如 toChineseNum(12345),返回 一万二千三百四十五. const toChinesNum = ...
- js将阿拉伯数字转换成汉字大写
适用场景:票据,结算凭证等.将任意数字的金额,转换成汉字大写的形式.例如:1234.50 -> 壹仟贰佰叁拾肆圆伍角.壹.贰.叁.肆 直接贴代码,如下: //阿拉伯数字转换成大写汉字 funct ...
- JS实现金额转换(将输入的阿拉伯数字)转换成中文
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- excel小写金额转换成中文大写
假设 假设数据在A1单元格 任何一个个单元格输入公式=TEXT(INT(A1),"[dbnum2]")&"元"&IF(INT(A1*10)-IN ...
- 完成将 toChineseNum, 可以将数字转换成中文大写的表示,处理到万级别,例如 toChineseNum(12345),返回 一万二千三百四十五
const toChineseNum = (num) => { const unit = ['', '十', '百', '千'] const counts = ['零', '一', '二', ' ...
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
sql server 关于表中只增标识问题 由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错 ...
- Python将阿拉伯数字转化为中文大写-乾颐堂
利用Python将阿拉伯数字转化为中文大写,其实最麻烦的地方就是中间空多个0的问题,这种情况下,采用拆分法则,将一个大数字,先拆分成整数部分和小数部分,再对整数部分按照仟.万.亿.兆分位拆分为四个字符 ...
随机推荐
- opencv-12-高斯滤波-双边滤波(附C++代码实现)
开始之前 这几天由于自己的原因没有写, 一个是因为自己懒了, 一个是感觉这里遇到点问题不想往下写了, 我们先努力结束这个章节吧, 之前介绍了比较常用而且比较好理解的均值和中值滤波, 但是呢,在例程Sm ...
- repo使用总结—从入门到入门
文章目录 1 what's repo 2 官方文档 Repo 命令参考资料 help 帮助 init 初始化 sync 同步所有项目文件 upload 提交更改 diff download foral ...
- FPGA代码优化方法和准则
- 如何在MATLAB下把模糊推理系统转化为查询表(转载)
如何在MATLAB下把模糊推理系统转化为查询表(原创) http://foundy.blog.163.com/blog/static/2633834420090212202156/?mode=edit ...
- 【HDU4990】递推式
题目大意:给定序列 1, 2, 5, 10, 21, 42, 85, 170, 341 …… 求第n项 模 m的结果 递推式 f[i] = f[i - 2] + 2 ^ (i - 1); 方法一: ...
- tp5 一次性插入大量数据时分批处理
如题,加入$arr 中有一万多条数据,如果直接使用insert插入的话就会报错,此时可以使用limit分批插入 $result = Db::connect($this->dbconfig()) ...
- JSP+Servlet+JDBC+mysql实现的个人日记本系统
项目简介 项目来源于:https://gitee.com/wishwzp/Diary 本系统基于JSP+Servlet+Mysql 一个基于JSP+Servlet+Jdbc的个人日记本系统.涉及技术少 ...
- 题解 洛谷P1562 【还是N皇后】
原题:洛谷P1562 这个题的原理和8皇后的原理是一模一样的,就是必须要用n个皇后把每一个行填满,同时满足每一列,每一行,每一条对角线只有一个棋子.但如果按照原来的方法暴打的话只有60分(优化亲测无效 ...
- STM32学习笔记——USART
STM32的USART组件支持异步.同步.单线半双工.多处理器.IrDA.LIN.SmartCard等模式,本文介绍的是异步即UART模式. 总线通信有三种模型:轮询.中断和DMA.DMA对我来说是陌 ...
- Least Cost Bracket Sequence(贪心)
Least Cost Bracket Sequence(贪心) Describe This is yet another problem on regular bracket sequences. A ...