📜  使用 gnboorse-rom 模块在Python中将罗马转换为十进制

📅  最后修改于: 2022-05-13 01:54:58.848000             🧑  作者: Mango

使用 gnboorse-rom 模块在Python中将罗马转换为十进制

gnboorse-rom模块是Python库,它可以帮助您将罗马数字转换为十进制数字和十进制数字转换为罗马数字。它将在罗马数字和十进制系统中转换高达 3999 的值。

注意:以下是一些独特的罗马符号及其对应的十进制值的列表。

SYMBOL        VALUE
I      ->       1
IV     ->       4
V      ->       5
IX     ->       9
X      ->       10
XL     ->       40
L      ->       50
XC     ->       90
C      ->       100
CD     ->       400
D      ->       500
CM     ->       900 
M      ->       1000       

罗马数字中的数字是这些符号按降序排列的字符串(例如,M 在前,然后是 D,等等)。但是,在少数特定情况下,为避免四个字符连续重复(如 IIII 或 XXXX),通常使用减法符号如下:

  • 我放在 V 或 X 之前表示少一,所以四是 IV(比 5 少一),而 9 是 IX(比 10 少一)。
  • 放在 L 或 C 之前的 X 表示少十个,所以 XL 是四十(10 比 50 少),90 是 XC(十比一百少)。
  • C放在D或M之前表示少一百,所以四百是CD(一百少五百),九百是CM(一百少一千)。

安装库

这个模块没有内置在Python中。您需要在外部安装它。要安装此模块,请在终端中键入以下命令。

pip install gnboorse-rom

gnboorse-rom 的功能:

  • 1-rom_generate::它将我们的十进制数转换为罗马数字,并返回一个罗马数字字符串作为输出。
    例子 :
    # Importing rom_generate function  
    # From gnboorse's rom Library  
    from rom import rom_generate
      
    a = rom_generate(1)
    print(a)
      
    a = rom_generate(5)
    print(a)
      
    a = rom_generate(15)
    print(a)
      
    a = rom_generate(255)
    print(a)
      
    a = rom_generate(512)
    print(a)
      
    a = rom_generate(786)
    print(a)
      
    a = rom_generate(1444)
    print(a)
      
    a = rom_generate(2000)
    print(a)
      
    a = rom_generate(3999)
    print(a)
    type(a)
    

    输出 :

    I
    V
    XV
    CCLV
    DXII
    DCCLXXXVI
    MCDXLIV
    MM
    MMMCMXCIX
    str
    
  • 2-rom_parse :它将我们的罗马数字转换为十进制数,并将返回一个十进制整数作为输出。
    例子 :
    # Importing rom_parse function  
    # From gnboorse's rom Library  
    from rom import rom_parse
      
    a = rom_parse('I')
    print(a)
      
    a = rom_parse('XV')
    print(a)
      
    a = rom_parse('L')
    print(a)
      
    a = rom_parse('CCLV')
    print(a)
      
    a = rom_parse('CD')
    print(a)
      
    a = rom_parse('MXII')
    print(a)
      
    a = rom_parse('DDD')
    print(a)
      
    a = rom_parse('MMD')
    print(a)
      
    a = rom_parse('MMMCMXCIX')
    print(a)
    type(a)
    

    输出 :

    1
    15
    50
    255
    400
    1012
    1500
    2500
    3999
    int
    

注意:要了解逻辑背后的代码,您可以参考 GeeksforGeeks