zoukankan      html  css  js  c++  java
  • 罗马数字转阿拉伯数字

    罗马数字转阿拉伯数字

    1.罗马数字是位置计数吗?它的缺点是什么?

    答:不是;缺点为形式、书写不便,缺少零。

     

    2.将学号20201210转为罗马数字:

    2 -----> II
    0 ----->
    2 -----> II
    0 -----> 
    1 -----> I
    2 -----> II
    1 -----> I
    0----- >

    3.程序大致如下:

     def transform_alabo2_roman_num(one_num):

          num_list=[1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]

     

         str_list=["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"]

     

         res=''

     

         for i in range(len(num_list)):

     

             while one_num>=num_list[i]:

     

                one_num-=num_list[i]

                res+=str_list[i]

     

         return res

     

    def transform_roman_num2_alabo(one_str):

     

      '''''

      将罗马数字转化为阿拉伯数字

     

      '''

     

      define_dict={'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000}

     

      if one_str=='0':

     

        return 0

     

      else:

     

        res=0

     

        for i in range(0,len(one_str)):

     

          if i==0 or define_dict[one_str[i]]<=define_dict[one_str[i-1]]:

     

            res+=define_dict[one_str[i]]

     

          else:

     

            res+=define_dict[one_str[i]]-2*define_dict[one_str[i-1]]

     

        return res

     

    if __name__ == '__main__':

     

        print ('**************将罗马数字转化为阿拉伯数字**************')

     

        one_str_list=['DII','XV','MDCLXVI','XII','VIII','XCIX','XII']

     

        for one_str in one_str_list:

     

            print (one_str,'----->',transform_roman_num2_alabo(one_str))

     

        print('**************将阿拉伯数字转化为罗马数字**************')

     

        one_num_list=[2,0,2,0,1,2,1,0]

     

        for one_num in one_num_list:

     

            print(one_num,'----->',transform_alabo2_roman_num(one_num))

    参考百度中已有代码,研究后大致理解。

     

  • 相关阅读:
    用友U8 | 【存货管理】提示用户***正在记账,不允许并发。
    用友U8 | 怎么准确查找【采购入库单】、【采购发票】,对应的凭证号?
    用友U8 | 中途启用序列号管理,该怎么操作?
    Excel:提取身份证号中的性别
    给jupyter 添加代码自动补全功能
    SQL函数之:截断字符串
    解决Maven子项目提示 ‘parent.relativePath‘ of POM
    公共NTP资源汇总
    iperf3的使用
    ZeroTier的使用
  • 原文地址:https://www.cnblogs.com/wxMing/p/13835438.html
Copyright © 2011-2022 走看看