罗马数字转阿拉伯数字
罗马数字转阿拉伯数字
问题1:罗马数字是位置计数吗?它的缺点是什么?
首先,我们先明确位置计数法的概念;根据《计算机科学概论》第2章《二进制数值与记数系统》中给出的定义:
位置记数法:一种表达数字的系统,数位按顺序排列,每个数位有一个位值,数字的值是每个数位和位值的乘积之和。
同时,我们需明白罗马数字的基本原理:相同的数字连写、所表示的数等于这些数字相加得到的数。常见的有化学元素周期表上族的书写,例如:Ⅰ = 1,Ⅱ = 2,Ⅴ = 5,同时在5以上的数字,遵循小数“右加左减”,像Ⅳ = Ⅴ-Ⅰ = 4,Ⅵ = Ⅴ+Ⅰ = 6(| 基本字符 | I | V | X | L |C |D | M | | 分别对应阿拉伯数字 | 1 |5 |10 |50 |100 |500 | 1000 |)
所以,我们可以得出:罗马数字不是位置计数。
至于它的缺点,更多是相较于阿拉伯数字来说,1.罗马数字中没有0;2.罗马数字中没有0;3.罗马数字运算复杂
问题2:把你的8位学号(20181xxx)转化成罗马数字。
在进行作业的途中,我是先阅读了20202405李昕亮的博客https://www.cnblogs.com/lxl20021208/p/13873994.html,所以提前知道了在转化中的问题。(缺乏了自主探索的过程,之后会注意并改正)
我的学号是20221423,先将其分为2022与1423,来解决“十进制数字的范围是0~3999”的问题
2022转换为罗马数字为MMXXII,1423转换为罗马数字为MCDXXIII,所以,我的学号转换为罗马数字为MMXXII MCDXXIII
问题3:用Pyhton写一个罗马数字转换为阿拉伯数字的程序
因为我对Pyhton极其不熟悉,可谓大白,所以我同意在理解的同时,抄写了一遍李昕亮学长的代码,但在运行途中依旧遇到了程序无法运行的问题,但在我的室友张浩轩和陈嘉树的帮助下,完成了运行,展示如下:
此问题更多是借助同学和学长博客的帮助下,还有许多东西未消化,之后会慢慢的吃明白
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具