题目描述:
银行在打印票据的时候,常常需要将阿拉伯数字表示的人民币金额转换为大写表示,现在请你来完成这样一个程序。

在中文大写方式中,0到10以及100、1000、10000被依次表示为: 零 壹 贰 叁 肆 伍 陆 柒 捌 玖 拾 佰 仟 万

以下的例子示范了阿拉伯数字到人民币大写的转换规则:

1 壹圆

11 壹拾壹圆

111 壹佰壹拾壹圆

101 壹佰零壹圆

-1000 负壹仟圆

1234567 壹佰贰拾叁万肆仟伍佰陆拾柒圆

现在给你一个整数a(|a|<100000000), 请你打印出人民币大写表示.

例如:a=1

则输出:壹圆

示例:
输入:a = 0

输出:零圆
这题写到崩溃,这个网站的oj简直要气死人,之前用函数提交,显示a在赋值前已经被引用错误(指的是num=a)这步,后面干脆直接去掉函数
这题大致思路是先把a的值装进trans中,因为不知道a有多少位,但一定是小于八位数(a的绝对值小于1亿),然后加上单位,再去掉最前面所有的0,再去掉中间连续的0,在一些特殊位置在进行细处理

lst1=['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
lst2=['仟', '佰', '拾', '万', '仟', '佰', '拾', '圆']
trans=['零', '零', '零', '零', '零', '零', '零', '零']
num=a
num1=7
#处理负数问题
if num < 0:result = "负"num = -numa = num
else:a = numresult = ""
#将a的值弄进trans里面并且加上对应的单位
while a!=0:trans[num1]=lst1[a%10]num1-=1a=a//10
for i in range(0,8):if trans[i]!='零':trans[i]=f'{trans[i]}{lst2[i]}'
#在特殊位置进行细处理
if trans[3]=='零' and num>10000:#注意a要大于1万trans[3]='万'
if trans[7]=='零':trans[7]='圆'
#去除前面多余的零
while '零' in trans[0]:trans.pop(0)
#去掉连续的0
for key, value in enumerate(trans):if value[0] != '零':result += valueelse:if value[0] != trans[key-1][0]:result += '零'
#注意零万和零圆的情况,例如壹佰零万圆,壹仟零圆这种类型的情况
result=result.replace('零万','万')
result=result.replace('零圆','圆')
#a=0时单列
if num == 0:result = "零圆"
print(result)

python自学做题记录之大写人民币相关推荐

  1. python自学做题记录之查找单词

    今天做题做到一个题目,题目是英文就大概说一下题目意思 输入一个列表,里面都是由句子组成,例如 doc_list = ["The Learn Python Challenge Casino.& ...

  2. python自学做题记录之找数字

    [问题描述]编写程序实现:对于一个输入的整数n,判断n的各位数中是否包含数字3或4.若包含,则打印true,否则,打印false. [输入形式]标准输入的一行表示一个整型数值 [输出形式]标准输出的一 ...

  3. python自学做题记录之吃苹果

    题目描述 八尾勇喜欢吃苹果.她现在有 m(m≤100) 个苹果,吃完一个苹果需要花费 t(0≤t≤100) 分钟,吃完一个后立刻开始吃下一个.现在时间过去了 s(s≤10000) 分钟,请问她还有几个 ...

  4. python自学做题记录之小学数学N合一

    题目描述 问题 1 请输出 I love Luogu! 问题 2 这里有 10 个苹果,小A 拿走了 2 个,Uim 拿走了 4 个,八尾勇拿走剩下的所有的苹果.我们想知道: 小A 和 Uim 两个人 ...

  5. python自学做题记录之光棍的悲伤

    题目描述: 光棍们对1总是那么敏感,因此每年的11.11被戏称为光棍节.小Py光棍几十载,光棍自有光棍的快乐.让我们勇敢地面对光棍的身份吧,现在就证明自己:给你一个整数a,数出a在二进制表示下1的个数 ...

  6. 【Pikachu】漏洞练习平台做题记录+原理解析(2.2)XSS姿势和技巧

    前言 Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞. 如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么Pikachu可能正合你意. pikach ...

  7. 概率期望题(期望 DP)做题记录

    概率期望题(期望 DP)做题记录 P3830 [SHOI2012]随机树 难点在于第二问:生成树的期望深度. 不 wei zhuo 捏,设 \(dp_{i,j}\) 表示已经有了 \(i\) 个叶子结 ...

  8. 数数题(计数类 DP)做题记录

    数数题(计数类 DP)做题记录 CF1657E Star MST 我们称张无向完全图是美丽的当且仅当:所有和 \(1\) 相连的边的边权之和等于这张完全图的最小生成树的边权之和. 完全图点数为 \(n ...

  9. CSDN 第六期编程竞赛做题记录

    CSDN 第六期编程竞赛做题记录 -- CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16 9.18周日闲来无视写一下 csdn 的编程题,每期编程 ...

最新文章

  1. pppoe设计的一般性
  2. 把指定用户的命令写在/home/etc/rc.local中,系统开机时就会自动执行指定用户的命令。
  3. 查看winpe系统的语言版本
  4. php截取字符串,带中文,多余的省略号代替
  5. SubRenamer – 字幕批量重命名,自动匹配视频文件与字幕文件[Windows]
  6. 子集和问题 算法_贪婪算法有多好?Submodularity告诉你
  7. 解读:计数器Counter
  8. android 查看某一个apk签名,APK提取获取签名
  9. python整型变量化ascii_Python基础之基本数据类型
  10. JS实现,页面显示数据加载,显示加载效果,加载完成显示数据
  11. js检测浏览器支持的字体
  12. 等价划分测试c语言测试三角形,三角形等价划分法测试用例
  13. QT之QTreeView使用总结
  14. 学习springboot整合mybatis并编写测试类
  15. 实验中应该遵循的几个原则
  16. 使用 prismjs 在网页中高亮显示代码
  17. python面试整理
  18. 咪咕MGV2000-KL 16G 晶晨S905L3 广东爱家TV 卡刷包
  19. 上大学时做的linux上视频传输的程序
  20. 五大列级庄_1855列级庄分级

热门文章

  1. Xmanager 5 (Windows 远程Centos工具 )
  2. 怎么在网易云或者QQ音乐上上传自己翻唱的歌
  3. 惠普微型计算机w7系统,惠普笔记本电脑一键重装系统win7
  4. html绝对定位怎么页面居中,绝对定位元素设置水平居中
  5. 【Practical】决策系统与粗糙集
  6. php复姓怎么排序,怎样“按姓氏笔画排列”? 复姓和少数民族姓氏如何排列? 男女同名谁在前...
  7. excel vba如何在不打开的情况下获取.pdf文件的打印页码数
  8. 二十个经典管理学定律
  9. 手把手带你使用EFR32 -- 土壤湿度传感器变身第二形态,以 ZigBee 形态出击
  10. 【LeetCode】解题309:Best Time to Buy and Sell Stock with Cooldown(动态规划)