我必须创建一个程序,将罗马数字转换为十进制,但没有使用循环,现在我写了这个,但它给我错误
def translate(mdg):
values = {"i":1, "v":5, "x":10, "D":500, "c":100, "m":1000}
return sum(map(lambda x: values[x], mdg))
ch = input("Entrez un nombre romain en utilisant les lettres M, D, C, X, I:")
print(translate(ch))
注意使用与在值字典中输入的字母格式相同的字母,因此除了D之外,所有字母都是小写的
一个好的解决方案是用一个“D”代替大写的“D”,然后通过ch.下()转换函数。在
这是一个经过适当修改的版本。在
我在Python3.4上测试了这个代码,同样的代码也在Python2.7上运行(使用原始输入而不是输入)。希望有帮助。在
相关问题 更多 >
编程相关推荐