Roman Number Representation

Joel Lucsy jjlucsy at concentric.net
Tue Jun 20 13:10:47 EDT 2000


I remember saving this from the discussion.

--
Joel Lucsy (jjlucsy at concentric.net)


"Robin Becker" <robin at reportlab.com> wrote in message
news:S9Q1YMA7B5T5Ew1U at jessikat.demon.co.uk...
> I could have sworn I had seen a discussion of Roman Numbers somewhere on
> clp, but can't find it. Anyone got any clues?
> --
> Robin Becker


begin 666 roman.py
M#0II;7!O<G0@<F4-"@T*:78@/2!R92YC;VUP:6QE*"))5B(I#0II>" ](')E
M+F-O;7!I;&4H(DE8(BD-"GAL(#T@<F4N8V]M<&EL92 at B6$PB*0T*>&,@/2!R
M92YC;VUP:6QE*")80R(I#0IC9" ](')E+F-O;7!I;&4H(D-$(BD-"F-M(#T@
M<F4N8V]M<&EL92 at B0TTB*0T*:2 @/2!R92YC;VUP:6QE*"))(B I#0IV(" ]
M(')E+F-O;7!I;&4H(E8B("D-"G@@(#T@<F4N8V]M<&EL92 at B6"(@*0T*;" @
M/2!R92YC;VUP:6QE*"),(B I#0IC(" ](')E+F-O;7!I;&4H(D,B("D-"F0@
M(#T@<F4N8V]M<&EL92 at B1"(@*0T*;2 @/2!R92YC;VUP:6QE*")-(B I#0H-
M"F1E9B!2;VUA;DYU;65R86QS5&]$96-I;6%L*')O;6%N7W-T<FEN9RDZ#0H@
M(" @:6UP;W)T(')E+"!S=')I;F<-"B @("!S='(@/2!S=')I;F<N=7!P97(H
M<F]M86Y?<W1R:6YG*0T*(" @(&5X<" ]("(B#0H@(" @:68@:78N<V5A<F-H
M*'-T<BD@(3T at 3F]N93H@('-T<B ](&EV+G-U8B at B*S0B+" @("!S='(I#0H@
M(" @:68@:7 at N<V5A<F-H*'-T<BD@(3T at 3F]N93H@('-T<B ](&EX+G-U8B at B
M*SDB+" @("!S='(I#0H@(" @:68@>&PN<V5A<F-H*'-T<BD@(3T at 3F]N93H@
M('-T<B ]('AL+G-U8B at B*S0P(BP@("!S='(I#0H@(" @:68@>&,N<V5A<F-H
M*'-T<BD@(3T at 3F]N93H@('-T<B ]('AC+G-U8B at B*SDP(BP@("!S='(I#0H@
M(" @:68 at 8V0N<V5A<F-H*'-T<BD@(3T at 3F]N93H@('-T<B ](&-D+G-U8B at B
M*S0P,"(L("!S='(I#0H@(" @:68 at 8VTN<V5A<F-H*'-T<BD@(3T at 3F]N93H@
M('-T<B ](&-M+G-U8B at B*SDP,"(L("!S='(I#0H@(" @:68@(&DN<V5A<F-H
M*'-T<BD@(3T at 3F]N93H@('-T<B ]("!I+G-U8B at B*S$B+" @("!S='(I#0H@
M(" @:68@('8N<V5A<F-H*'-T<BD@(3T at 3F]N93H@('-T<B ]("!V+G-U8B at B
M*S4B+" @("!S='(I#0H@(" @:68@('@N<V5A<F-H*'-T<BD@(3T at 3F]N93H@
M('-T<B ]("!X+G-U8B at B*S$P(BP@("!S='(I#0H@(" @:68@(&PN<V5A<F-H
M*'-T<BD@(3T at 3F]N93H@('-T<B ]("!L+G-U8B at B*S4P(BP@("!S='(I#0H@
M(" @:68@(&,N<V5A<F-H*'-T<BD@(3T at 3F]N93H@('-T<B ]("!C+G-U8B at B
M*S$P,"(L("!S='(I#0H@(" @:68@(&0N<V5A<F-H*'-T<BD@(3T at 3F]N93H@
M('-T<B ]("!D+G-U8B at B*S4P,"(L("!S='(I#0H@(" @:68@(&TN<V5A<F-H
M*'-T<BD@(3T at 3F]N93H@('-T<B ]("!M+G-U8B at B*S$P,# B+"!S='(I#0H@
M(" @97AE8R B;G5M(#T@(B K('-T<@T*(" @(')E='5R;B!N=6T-"B @(" -
M"@T*9&5F($1E8VEM86Q4;U)O;6%N3G5M97)A;',H8F%S93$P7VEN=&5G97(I
M. at T*(" @("<G)U1R86YS;&%T960 at 9G)O;2!A('!U8FQI8R!D;VUA:6X at 0R!R
M;W5T:6YE(&)Y($II;2!786QS:"!I;B!T:&4-"B @("!3;FEP<&5T<R!C;VQL
M96-T:6]N+ at T*(" @("<G)PT*(" @(')O;6%N(#T@(B(-"B @("!N+"!B87-E
M,3!?:6YT96=E<B ](&1I=FUO9"AB87-E,3!?:6YT96=E<BP@,3 P,"D-"B @
M("!R;VUA;B ](")-(BIN#0H@(" @:68 at 8F%S93$P7VEN=&5G97(@/CT at .3 P
M. at T*(" @(" @("!R;VUA;B ](')O;6%N("L@(D--(@T*(" @(" @("!B87-E
M,3!?:6YT96=E<B ](&)A<V4Q,%]I;G1E9V5R("T at .3 P#0H@(" @=VAI;&4@
M8F%S93$P7VEN=&5G97(@/CT at -3 P. at T*(" @(" @("!R;VUA;B ](')O;6%N
M("L@(D0B#0H@(" @(" @(&)A<V4Q,%]I;G1E9V5R(#T at 8F%S93$P7VEN=&5G
M97(@+2 U,# -"B @("!I9B!B87-E,3!?:6YT96=E<B ^/2 T,# Z#0H@(" @
M(" @(')O;6%N(#T@<F]M86X@*R B0T0B#0H@(" @(" @(&)A<V4Q,%]I;G1E
M9V5R(#T at 8F%S93$P7VEN=&5G97(@+2 T,# -"B @("!W:&EL92!B87-E,3!?
M:6YT96=E<B ^/2 Q,# Z#0H@(" @(" @(')O;6%N(#T@<F]M86X@*R B0R(-
M"B @(" @(" @8F%S93$P7VEN=&5G97(@/2!B87-E,3!?:6YT96=E<B M(#$P
M, T*(" @(&EF(&)A<V4Q,%]I;G1E9V5R(#X](#DP. at T*(" @(" @("!R;VUA
M;B ](')O;6%N("L@(EA#(@T*(" @(" @("!B87-E,3!?:6YT96=E<B ](&)A
M<V4Q,%]I;G1E9V5R("T at .3 -"B @("!W:&EL92!B87-E,3!?:6YT96=E<B ^
M/2 U,#H-"B @(" @(" @<F]M86X@/2!R;VUA;B K("),(@T*(" @(" @("!B
M87-E,3!?:6YT96=E<B ](&)A<V4Q,%]I;G1E9V5R("T at -3 -"B @("!I9B!B
M87-E,3!?:6YT96=E<B ^/2 T,#H-"B @(" @(" @<F]M86X@/2!R;VUA;B K
M(")83"(-"B @(" @(" @8F%S93$P7VEN=&5G97(@/2!B87-E,3!?:6YT96=E
M<B M(#0P#0H@(" @=VAI;&4 at 8F%S93$P7VEN=&5G97(@/CT@,3 Z#0H@(" @
M(" @(')O;6%N(#T@<F]M86X@*R B6"(-"B @(" @(" @8F%S93$P7VEN=&5G
M97(@/2!B87-E,3!?:6YT96=E<B M(#$P#0H@(" @:68 at 8F%S93$P7VEN=&5G
M97(@/CT at .3H-"B @(" @(" @<F]M86X@/2!R;VUA;B K("))6"(-"B @(" @
M(" @8F%S93$P7VEN=&5G97(@/2!B87-E,3!?:6YT96=E<B M(#D-"B @("!W
M:&EL92!B87-E,3!?:6YT96=E<B ^/2 U. at T*(" @(" @("!R;VUA;B ](')O
M;6%N("L@(E8B#0H@(" @(" @(&)A<V4Q,%]I;G1E9V5R(#T at 8F%S93$P7VEN
M=&5G97(@+2 U#0H@(" @:68 at 8F%S93$P7VEN=&5G97(@/CT at -#H-"B @(" @
M(" @<F]M86X@/2!R;VUA;B K("))5B(-"B @(" @(" @8F%S93$P7VEN=&5G
M97(@/2!B87-E,3!?:6YT96=E<B M(#0-"B @("!W:&EL92!B87-E,3!?:6YT
M96=E<B ^(# Z#0H@(" @(" @(')O;6%N(#T@<F]M86X@*R B22(-"B @(" @
M(" @8F%S93$P7VEN=&5G97(@/2!B87-E,3!?:6YT96=E<B M(#$-"B @("!R
M971U<FX@<F]M86X-"@T*:68 at 7U]N86UE7U\@/3T@(E]?;6%I;E]?(CH-"B @
M(" G)R=792=L;"!T97-T('1H92!C;VYV97)S:6]N(')O=71I;F5S(&)Y(&-O
M;G9E<G1I;F<@9G)O;2!A(&1E8VEM86P-"B @("!I;G1E9V5R(&X@=&\@82!2
M;VUA;B!N=6UE<F%L(&%N9"!T:&5N(&)A8VL at 86=A:6XN("!)9B!T:&4@;W!E
M<F%T:6]N<PT*(" @(&%R92!N;W0@=&AE(&ED96YT:71Y('1R86YS9F]R;6%T
M:6]N+"!I="=S(&%N(&5R<F]R+ at T*(" @("<G)PT*(" @(&QA<F=E<W1?;G5M
M8F5R(#T at -3 P, T*(" @(&9O<B!N=6T@:6X@>')A;F=E*#$L;&%R9V5S=%]N
M=6UB97(K,2DZ#0H@(" @(" @('-T<B ]($1E8VEM86Q4;U)O;6%N3G5M97)A
M;',H:6YT*&YU;2DI#0H@(" @(" @(&YU;6)E<B ](%)O;6%N3G5M97)A;'-4
M;T1E8VEM86PH<W1R*0T*(" @(" @("!I9B!N=6UB97(@(3T@;G5M. at T*(" @
M(" @(" @(" @<')I;G0@(E)O=71I;F5S(&9A:6QE9"!F;W(B+"!N=6T-"B @
M(" @(" @(" @(')A:7-E(")497-T(&9A:6QU<F4B#0H@(" @<')I;G0@(E1E
-<W0@<&%S<V5D+B(-"@``
`
end




More information about the Python-list mailing list