环球速讯:python实现小写数字和大写数字的对应关系
已知数字 0 至 9 的中文大写金额数字,分别是零、壹、贰、叁、肆、伍、陆、柒、捌、玖
请用代码实现:
【资料图】
构建数据容器,用于存储该对应关系。分别获取小写数字 3、7、9 所对应的中文大写数字分别获取大写数字 贰、柒、捌 所对应的小写数字。
题源:👉数字大小写转换:存储和调用对应关系 分析:
# 大写数字数据源Upper0 = "零、壹、贰、叁、肆、伍、陆、柒、捌、玖"Upper1 = Upper0.split("、")# 小写数字数据源num_list = []for number in range(10):num_list.append(number)
用 split("、")方法将 Upper0以 、分割,封装到列表容器中(以备后期使用)这里首先小白新建了一个列表并引入了小写数字作为数据源
# 封装函数def Swap_func(lower,upper): swap = {} swap[lower] = upper return swap
定义了一个函数,名为Sawp_func,形参为 lower, upper:该函数的功能就是:实现对字典进行键值对的添加,也是本代码实现的核心
m = map(Swap_func, num_list, Upper1)
调用该函数,并使用 map()内置函数,将结果传给变量 m这里将 num_list位置参数传给 lower,Upper1传给 upper,实现多次对 swap字典的键值对的添加,这也就是函数的功能之一:实现对代码的复用
info = list(m)print(info)#运行结果:[{0: "零"}, {1: "壹"}, {2: "贰"}, {3: "叁"}, {4: "肆"}, {5: "伍"}, {6: "陆"}, {7: "柒"}, {8: "捌"}, {9: "玖"}]
成功了,将小写数字和大写数字一一对应起来了下一步的任务就是实现查询的功能
print("{0:-^74}".format("数字间用英文逗号间隔,输入结束后,按回车结束"))print("{0:-^80}".format("若为单个数字,请以英文逗号隔开哦"))Input0 = eval(input("请输入你需要转换的任意小写数字:"))print()print()print(f"小写数字 {Input0} 对应的中文大写数字为: {[list(info[number].values()) for number in Input0]}")
这里小白使用了 format()方法对其字符串进行文字排版简言之就是:"xx {0} xxx {1} xx".format(a, b), x 处原样输出, 而 a , b会替换 {}中的 0和 1(也就是所说的格式化)Input0 = eval(input():input():获取用户的输入信息,相当于C语言中的 scanf()函数。eval():用法就是将引号去掉,使引号的内容变成可操作的表达式。print(f""): 作用类似于 format方法,{}是 格式输出,其余部分是原样输出
最关键的来了!!
[list(info[number].values()) for number in Input0]
大家可能对这个不理解,这个其实就是 列表生成器,又称列表推导式,列表生成式重要的格式如下:[(关于 x 的表达式) for x in 迭代器]
零,壹,贰,叁,肆,伍,陆,柒,捌,玖 = [i for i in range(10)]
涉及到序列解包的相关知识: 👉Python学习吧-序列解包和序列封包
这里小白用了不太好的办法,逐个对汉字重新赋值,因此也证明了python 的强大之处在于支持中文。因此,只要用户输入汉字,对应的小写数字就出来了。
源代码如下:
# 数据源Upper0 = "零、壹、贰、叁、肆、伍、陆、柒、捌、玖"Upper1 = Upper0.split("、")# 封装函数num_list = []for number in range(10):num_list.append(number)def Swap_func(lower,upper): swap = {} swap[lower] = upper return swapm = map(Swap_func, num_list, Upper1)info = list(m)# [{0: "零"}, {1: "壹"}, {2: "贰"}, {3: "叁"}, {4: "肆"}, {5: "伍"}, {6: "陆"}, {7: "柒"}, {8: "捌"}, {9: "玖"}]print("{0:-^74}".format("数字间用英文逗号间隔,输入结束后,按回车结束"))print("{0:-^80}".format("若为单个数字,请以英文逗号隔开哦"))Input0 = eval(input("请输入你需要转换的任意小写数字:"))print()print()print(f"小写数字 {Input0} 对应的中文大写数字为: {[list(info[number].values()) for number in Input0]}")print()零,壹,贰,叁,肆,伍,陆,柒,捌,玖 = [i for i in range(10)]print("{0:-^63}".format("大写数字间用英文逗号间隔,输入结束后,为方便您查询,请按回车结束鸭~"))print("{0:-^80}".format("若为单个汉字,请以英文逗号隔开哦"))print(f"提示:{"零、壹、贰、叁、肆、伍、陆、柒、捌、玖 (复制任意大写数字或手动输入)".replace("、",",")}")Input1 = eval(input("请输入你需要转换的任意中文大写数字:"))Upper_list = [零,壹,贰,叁,肆,伍,陆,柒,捌,玖]print()print()print(f"大写数字 {[list(info[number].values()) for number in Input1]} 对应的小写数字为: {Input1}")print()print("{0:-^86}".format("欢迎您下次使用,再见~"))
运行效果:
请输入你需要转换的任意小写数字:3,7,9
运行结果1:
小写数字 (3, 7, 9) 对应的中文大写数字为: [["叁"], ["柒"], ["玖"]]
继续输入:
请输入你需要转换的任意中文大写数字:贰,柒,捌运行结果2:
大写数字 [["贰"], ["柒"], ["捌"]] 对应的小写数字为: (2, 7, 8)----------欢迎您下次使用,再见~--------------
好了,以上就是小白的代码,手工打字,属实不易,如有帮助,一键三连。编程的最大好处就是在于,对于一个问题有多个解法。如果您有更好的方法,请在评论区下留言吧!
标签:
相关推荐:
最新新闻:
- 当前动态:一站式的开源持续测试平台---MeterSphere
- 【干货】常见密码归纳(入门级)(上)-世界滚动
- 代码执行的意思是什么?代码执行详情介绍 环球快报
- 【java编程】使用系统函数的两种方式_世界快消息
- 环球速讯:python实现小写数字和大写数字的对应关系
- finally的作用是什么?java异常处理之finally
- 怎么理解电感电流能否突变?关于电感的理解 环球快讯
- 【天天报资讯】零、分析方法基础——PEST分析法(行业分析篇)
- 几何学中多项式是什么?多项式是由变量以及标量的代数式吗?-焦点热文
- 链表中结点的“结”到底是哪个字?节点和结点到底有什么不同?
- 深入理解Java:SimpleDateFormat安全的时间格式化
- 【干货】C++异常处理的三种工具
- 环球微速讯:CART树算法详解 基于训练数据集生成的CART算法
- 中国最出色的互动娱乐企业之一——完美世界-每日视讯
- 智搭36合1创意搭建机器人——STEAM教育的完美课题-热资讯
- HSE配置是什么?频率4-16MHZ的使用方法
- 最新资讯:A和B的最长公共子序列是什么?LCS详解
- 园方回应游客给大熊猫投喂带包装火腿肠:很气愤!
- 这款Steam新作 展现了俄罗斯人眼中的黑暗格林童话
- java中的正则表达式 java.util.regexJava中正则表达式的构造-世界热点评
- 天天看热讯:干货|MindSporeLite整体架构介绍
- 高效的磁力搜索引擎--生产中的测试(二)_全球今日报
- 《街头霸王6》新解说员宣传片公开:日本少女冠军人美声甜!-天天快报
- 《怪物猎人崛起:曙光》主机发售日公开_天天精选
- 环球热头条丨《最后的生还者》PC重制版预告 配置需求公布
- 多人团队射击《恐龙浩劫》将于7月14日正式发售|世界新消息
- 《机械战警:暴戾都市》公布玩法预告延期至9月上市|每日热文
- 床头必备 奥克斯22升小冰箱258元
- 超高颜值 华硕小主机2999元|全球快看点
- 战纹2公布 登录Switch和PC_当前快讯
- 3D打印火箭即将试射
- 百亿补贴便宜100 机械师24寸显示器399元
- 快看点丨复仇爽剧《黑暗荣耀2》明天全集播出:第1季豆瓣8.9
- 【世界独家】internal_server error怎么办
- 《零:月蚀的假面》发售预告片公布 已登陆各平台_热头条
- Epic 2022年度总结:PC用户超2.3亿!送出99款游戏_聚焦
- 固定视角生存恐怖游戏《生者回声》试玩推出 世界时快讯
- 防止App恶意截图 安卓14预览版新功能
- 全球今日报丨万众期待 星空跳票到9月6日
- Homepod对手来了 SONOS新品支持空间音频
- 世界快资讯:电动提取灵魂 音波头部按摩仪149元
- 全球快资讯:索尼担忧微软收购之后COD在PS5上会更差
- 没有五险一金的公司能去吗上班_没有五险一金的公司能去吗
- 热点评!扁平疣的最佳治疗方法是什么(扁平疣的最佳治疗方法)
- 环球速读:《战争雷霆》衍生VR空战游戏《雷霆王牌》公布
- 时讯:传闻:《怪猎崛起:曙光》将于4月28日登陆PS/Xbox
- 【环球新要闻】每天少睡一两个小时算熬夜?专家提醒:大脑会变笨
- 当前头条:U20男足亚洲杯:中国队晋级八强!
- 《闪电十一人》最新作剧情来到初代25年后-世界新资讯
- 天天速递!韩国主帅希望复制02世界杯奇迹:之前能 现在也可以
- 市场监管总局公布第六批查处涉疫药品和医疗用品违法典型案例
- 腾讯NFT交易软件幻核APP凉了:将于6.30关闭下线
- 世界百事通!140W 4060满血释放!ROG新款游戏本首发价9999元
- 《雷顿教授与蒸汽新世界》新预告 支持简中
- 世界视讯!LadyGaga不会在95届奥斯卡表演 忙于拍摄《小丑2》
- 拒绝网红打卡拍照!宜家仓库后山姆也禁拍网红照:简讯
- 《使命召唤17:黑色行动5》Steam特别好评:T组制作必属精品
- 世界百事通!大话新手序列号领取_大话外传新篇精英回归序列号礼包领取
- 全球视点!赋能青少年健康成长 泰州首个民间社会组织“关工委”成立
- 我国新发现一颗近地小行星:直径约200m 俩足球场大
- PS港服会员优惠来了:升级二档三档可享65折优惠_世界热点评
- 《零:月蚀的假面》Steam特别好评 峰值863人
- 389元1TB固态10年质保3400MB/s
- 美洽代表成都高新区企业,出海赴欧开拓新市场
- 毕设在即,电脑硬盘崩了,有哪款比较值得购买的SSD?:世界信息
- iPhone 14 Plus黄色刚发布就破发:立减800 当前观点
- 小米Buds 4 Pro无线耳机即将在国际市场推出、支持蓝牙5.3:观速讯
- Nacon发行商折扣周1折起 《钢铁崛起》75.9元|环球速递
- 数据显示:67%的《卧龙》Xbox玩家没能击败张梁
- 全球动态:游戏囧图:单马尾蒂法好凶 双生舞伶本尊COS来了
- 欺骗感情!90后男子承诺捐1100万没兑现成老赖:985母校怒起诉|焦点
- 环球观速讯丨黑暗童话《惊悚故事3:英格莉忏悔录》今日登陆Steam
- 矿卡崩了也没事!英伟达自信表态:我们游戏显卡也很行-天天热推荐
- 停止续约!米兰体育报:“现在不应该分心,应当全力...
- 焦点热门:PS中国发布《卧龙:苍天陨落》PS5性能宣传片 沉浸体验乱世三国
- 《生化危机4:重制版》广告疑似泄露:试玩Demo明天上线!_每日精选
- 当前信息:《蓓优妮塔起源:瑟蕾莎与迷失的恶魔》公布剧情预告片
- 重获新“声” 清华研发可穿戴人工喉咙还原准确率超90%
- 点亮尘封文明 解谜游戏《落叶城》NS版3月16日推出:快看
- 兼容 13 代酷睿,昂达推出两款主板,售价仅 449 元起
- 独居女生的浪漫之选三星BESOPKEHOME让女性拥抱自我-每日头条
- 聚焦女性健康,腾讯公益“关爱女性健康小红花日”项目启动
- 天天要闻:直降 1000 元,ROG 6 游戏手机优惠抢购,16GB+512GB 豪华配置
- iPhone 攻下日本手机一半市场,第二名夏普,小米等国产机只在 others
- 每日观点:梁朝伟称想重新尝试拍电视剧:美剧、韩剧都可接受