관리-도구
편집 파일: roman.cpython-311.pyc
� P�Dg� � �� � d Z dZdZdZdZddlZ G d� de� � Z G d � d e� � Z G d� de� � Z G d � de� � Z dZd� Z ej dej � � Zd� ZdS )z"Convert to and from Roman numeralsz&Mark Pilgrim (f8dy@diveintopython.org)z1.4z 8 August 2001ag Copyright (c) 2001 Mark Pilgrim This program is part of "Dive Into Python", a free Python tutorial for experienced programmers. Visit http://diveintopython.org/ for the latest version. This program is free software; you can redistribute it and/or modify it under the terms of the Python 2.1.1 license, available at http://www.python.org/2.1.1/license.html � Nc � � e Zd ZdS )� RomanErrorN��__name__� __module__�__qualname__� � �t/builddir/build/BUILD/imunify360-venv-2.4.0/opt/imunify360/venv/lib/python3.11/site-packages/docutils/utils/roman.pyr r � � � � � � � � r r c � � e Zd ZdS )�OutOfRangeErrorNr r r r r r r r r c � � e Zd ZdS )�NotIntegerErrorNr r r r r r r r r c � � e Zd ZdS )�InvalidRomanNumeralErrorNr r r r r r r r r ) )�Mi� )�CMi� )�Di� )�CDi� )�C�d )�XC�Z )�L�2 )�XL�( )�X� )�IX� )�V� )�IV� )�I� c �� � d| cxk rdk sn t d� � �t | � � | k rt d� � �d}t D ]\ }}| |k r||z }| |z } | |k ��|S )z convert integer to Roman numeralr i� z%number out of range (must be 1..4999)zdecimals can not be converted� )r �intr �romanNumeralMap)�n�result�numeral�integers r �toRomanr1 + s� � � ��L�L�L�L�D�L�L�L�L��E�F�F�F� �1�v�v��{�{��=�>�>�>� �F�+� � �����7�l�l��g��F� ��L�A� �7�l�l�� �Mr a8 ^ # beginning of string M{0,4} # thousands - 0 to 4 M's (CM|CD|D?C{0,3}) # hundreds - 900 (CM), 400 (CD), 0-300 (0 to 3 C's), # or 500-800 (D, followed by 0 to 3 C's) (XC|XL|L?X{0,3}) # tens - 90 (XC), 40 (XL), 0-30 (0 to 3 X's), # or 50-80 (L, followed by 0 to 3 X's) (IX|IV|V?I{0,3}) # ones - 9 (IX), 4 (IV), 0-3 (0 to 3 I's), # or 5-8 (V, followed by 0 to 3 I's) $ # end of string c �H � | st d� � �t � | � � st d| z � � �d}d}t D ]X\ }}| ||t |� � z � |k r5||z }|t |� � z }| ||t |� � z � |k �5�Y|S )z convert Roman numeral to integerzInput can not be blankzInvalid Roman numeral: %sr )r �romanNumeralPattern�searchr, �len)�sr. �indexr/ r0 s r � fromRomanr8 H s� � �� A�&�'?�@�@�@��%�%�a�(�(� H�&�'B�Q�'F�G�G�G� �F� �E�+� "� "������e�C��L�L�(�(�)�W�4�4��g��F��S��\�\�!�E� ��e�C��L�L�(�(�)�W�4�4�� �Mr )�__doc__� __author__�__version__�__date__� __copyright__�re� Exceptionr r r r r, r1 �compile�VERBOSEr3 r8 r r r �<module>rB s� �� (� (� 5� ����� � � � � � � "� !� !� !� !�� !� !� !� '� '� '� '� '�j� '� '� '� '� '� '� '� '�j� '� '� '� 0� 0� 0� 0� 0�z� 0� 0� 0���� � � !�b�j� "� �� � � �� � � � r