作业:罗马数字转10进制数

使用python实现罗马数字转换为阿拉伯数字

-因为对python的学习还并不够透彻,无法自己很好的完成,所以我在网上搜索了资料,找到了相关的转换方法。参考过网上提供的代码,但并没有复制粘贴。
-成功实现了一个转换的程序,比网上的代码更人性化,每次执行的时候无需修改代码,可以在运行时每次根据需要来改变所需转换的数字。
-我大致理解了所使用的代码的意义,但因python水平较低,并不能完全理解
-经计算,我的学号320转为罗马数字是CCCXX,经python程序转换正确
-代码如下

class Solution(object):    
    def romanchange(self, s):             
        S=0        
        Represent={'M': 1000,'D': 500 ,'C': 100,'L': 50,'X': 10,'V': 5,'I': 1} 
        for i in range(len(s)-1):            
            if Represent[s[i]] < Represent[s[i+1]]:                
                S -= Represent[s[i]]            
            else:                
                S += Represent[s[i]]        
        S += Represent[s[-1]]        
        return S
if __name__ == '__main__':
    a = Solution()
    romun = input("请输入罗马数字,即可转换为10进制数")
    NUM = a.romanchange(romun)
    print(NUM) 

posted @ 2019-10-20 20:31  20191320  阅读(339)  评论(0编辑  收藏  举报