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))

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

     

  • 相关阅读:
    Session共享的解决方案
    用IIS配置反向代理
    authorization配置
    git之https或http方式设置记住用户名和密码的方法
    微信分享接口
    为你的Visual Studio单独设置代理服务器
    HTTP错误404.13
    MVC5的AuthorizeAttribute详解
    【MVC5】画面多按钮提交
    PetaPoco dynamic
  • 原文地址:https://www.cnblogs.com/wxMing/p/13835438.html
Copyright © 2011-2022 走看看