罗马数字转阿拉伯数字

罗马数字转阿拉伯数字

问题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极其不熟悉,可谓大白,所以我同意在理解的同时,抄写了一遍李昕亮学长的代码,但在运行途中依旧遇到了程序无法运行的问题,但在我的室友张浩轩和陈嘉树的帮助下,完成了运行,展示如下:

 

 

 

 

 此问题更多是借助同学和学长博客的帮助下,还有许多东西未消化,之后会慢慢的吃明白

posted @   晓熙熙  阅读(95)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示