首页 > 软件开发 > PYTHON >

如何用PYTHON解决罗马数字转整数问题

来源:互联网 2023-03-16 19:12:19 98

用PYTHON解决罗马数字转整数问题6ya办公区 - 实用经验教程分享!

工具/原料

  • PYTHON

方法/步骤

  • 1

    打开JUPYTER NOTEBOOK,新建一个PY文档。6ya办公区 - 实用经验教程分享!

    如何用PYTHON解决罗马数字转整数问题6ya办公区 - 实用经验教程分享!

  • 2

    I = 16ya办公区 - 实用经验教程分享!

    I I6ya办公区 - 实用经验教程分享!

    我们可以定义变量,但是数据多的时候不现实。6ya办公区 - 实用经验教程分享!

    如何用PYTHON解决罗马数字转整数问题6ya办公区 - 实用经验教程分享!

  • 3

    d = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}6ya办公区 - 实用经验教程分享!

    s = "II"6ya办公区 - 实用经验教程分享!

    result = 06ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    for i in s:6ya办公区 - 实用经验教程分享!

    result = result d[i]6ya办公区 - 实用经验教程分享!

    print(result)6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    我们先定义一个字典,然后逐个相加。6ya办公区 - 实用经验教程分享!

    如何用PYTHON解决罗马数字转整数问题6ya办公区 - 实用经验教程分享!

  • 4

    s = "XXVII"6ya办公区 - 实用经验教程分享!

    result = 06ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    for i in s:6ya办公区 - 实用经验教程分享!

    result = result d[i]6ya办公区 - 实用经验教程分享!

    print(result)6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    s = "IV"6ya办公区 - 实用经验教程分享!

    result = 06ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    for i in s:6ya办公区 - 实用经验教程分享!

    result = result d[i]6ya办公区 - 实用经验教程分享!

    print(result)6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    但是IV这里是错误的,这是罗马数字的特点。6ya办公区 - 实用经验教程分享!

    如何用PYTHON解决罗马数字转整数问题6ya办公区 - 实用经验教程分享!

  • 5

    s = "IV"6ya办公区 - 实用经验教程分享!

    result = 06ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    d = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    if s == "IV":6ya办公区 - 实用经验教程分享!

    print(4)6ya办公区 - 实用经验教程分享!

    elif s == "IX":6ya办公区 - 实用经验教程分享!

    print(9)6ya办公区 - 实用经验教程分享!

    elif s == "XL":6ya办公区 - 实用经验教程分享!

    print(40)6ya办公区 - 实用经验教程分享!

    elif s == "XC":6ya办公区 - 实用经验教程分享!

    print(90)6ya办公区 - 实用经验教程分享!

    elif s == "CD":6ya办公区 - 实用经验教程分享!

    print(400)6ya办公区 - 实用经验教程分享!

    elif s == "CM":6ya办公区 - 实用经验教程分享!

    print(900)6ya办公区 - 实用经验教程分享!

    else:6ya办公区 - 实用经验教程分享!

    for i in s:6ya办公区 - 实用经验教程分享!

    result = result d[i]6ya办公区 - 实用经验教程分享!

    print(result)6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    这些就是特殊的时候,但是这样写很复杂。6ya办公区 - 实用经验教程分享!

    如何用PYTHON解决罗马数字转整数问题6ya办公区 - 实用经验教程分享!

  • 6

    s = "MCMXCIV"6ya办公区 - 实用经验教程分享!

    #M = 1000, CM = 900, XC = 90 and IV = 46ya办公区 - 实用经验教程分享!

    #19946ya办公区 - 实用经验教程分享!

    result = 06ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    d = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}6ya办公区 - 实用经验教程分享!

    dd = {"IV": 4, "IX": 9, "XL": 40, "XC": 90, "CD": 400, "CM": 900}6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    if s in dd:6ya办公区 - 实用经验教程分享!

    print(dd[s])6ya办公区 - 实用经验教程分享!

    else:6ya办公区 - 实用经验教程分享!

    for i in s:6ya办公区 - 实用经验教程分享!

    print(i,end=" ")6ya办公区 - 实用经验教程分享!

    result = result d[i]6ya办公区 - 实用经验教程分享!

    print(result)6ya办公区 - 实用经验教程分享!

    查看一下,再设置多一个字典,但是会遇到遍历重复的问题。6ya办公区 - 实用经验教程分享!

    如何用PYTHON解决罗马数字转整数问题6ya办公区 - 实用经验教程分享!

  • 6相关内容非法爬取自百度经验
  • 7

    s = "MCMXCIV"6ya办公区 - 实用经验教程分享!

    #M = 1000, CM = 900, XC = 90 and IV = 46ya办公区 - 实用经验教程分享!

    #19946ya办公区 - 实用经验教程分享!

    result = 06ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    d = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}6ya办公区 - 实用经验教程分享!

    dd = {"IV": 4, "IX": 9, "XL": 40, "XC": 90, "CD": 400, "CM": 900}6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    for i in range(len(s)):6ya办公区 - 实用经验教程分享!

    if s[i:i 2] in dd:6ya办公区 - 实用经验教程分享!

    result = result dd[s[i:i 2]]6ya办公区 - 实用经验教程分享!

    s = s.strip(s[i:i 2])6ya办公区 - 实用经验教程分享!

    else:6ya办公区 - 实用经验教程分享!

    result = result d[s[i]]6ya办公区 - 实用经验教程分享!

    print(result)6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    可能会有同学觉得可以减去不要的字符串,但是遍历的i还是会按照顺序遍历的,所以不可行。6ya办公区 - 实用经验教程分享!

    如何用PYTHON解决罗马数字转整数问题6ya办公区 - 实用经验教程分享!

  • 8

    s = "MCMXCIV"6ya办公区 - 实用经验教程分享!

    d = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}6ya办公区 - 实用经验教程分享!

    result = 06ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    for i in range(len(s)):6ya办公区 - 实用经验教程分享!

    if i (len(s)-1) and d[s[i]] d[s[i 1]]:6ya办公区 - 实用经验教程分享!

    result = result - d[s[i]]6ya办公区 - 实用经验教程分享!

    else:6ya办公区 - 实用经验教程分享!

    result = result d[s[i]]6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    print(result)6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    其实只要左边的数字比右边的小,那就减去左边的小的数字就可以了。6ya办公区 - 实用经验教程分享!

    如何用PYTHON解决罗马数字转整数问题6ya办公区 - 实用经验教程分享!

  • 9

    s = "MCMXCIV"6ya办公区 - 实用经验教程分享!

    #M = 1000, CM = 900, XC = 90 and IV = 46ya办公区 - 实用经验教程分享!

    #19946ya办公区 - 实用经验教程分享!

    result = 06ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    d = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}6ya办公区 - 实用经验教程分享!

    dd = ["IV", "IX", "XL", "XC", "CD", "CM"]6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    for i in range(len(s)):6ya办公区 - 实用经验教程分享!

    if s[i:i 2] in dd:6ya办公区 - 实用经验教程分享!

    result -= d[s[i]]6ya办公区 - 实用经验教程分享!

    else:6ya办公区 - 实用经验教程分享!

    result = d[s[i]]6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    print(result)6ya办公区 - 实用经验教程分享!

    6ya办公区 - 实用经验教程分享!

    也可以设置多个列表方便理解,但是会相对比较缓慢。6ya办公区 - 实用经验教程分享!

    如何用PYTHON解决罗马数字转整数问题6ya办公区 - 实用经验教程分享!

  • 注意事项

    • 注意罗马数字的规则

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!6ya办公区 - 实用经验教程分享!


    标签: python转换

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码