Материал из Википедии — свободной энциклопедии
# -*- coding: UTF-8 -*-
__version__='$Id:'
import wikipedia
import re, sys
import codecs
from zbib_tekst import *
def vivod(b):
# wikipedia.output(b)
otch.write(b)
otch.flush()
chrim=[
(1000, u'M'),
(900, u'CM'),
(500, u'D'),
(400, u'CD'),
(100, u'C'),
(90, u'XC'),
(50, u'L'),
(40, u'XL'),
(10, u'X'),
(9, u'IX'),
(5, u'V'),
(4, u'IV'),
(1, u'I'),
]
cheo=[
(1000, u'mil '),
(900, u'naŭcent '),
(800, u'okcent '),
(700, u'sepcent '),
(600, u'sescent '),
(500, u'kvincent '),
(400, u'kvarcent '),
(300, u'tricent '),
(200, u'ducent '),
(100, u'cent '),
(90, u'naŭdek '),
(80, u'okdek '),
(70, u'sepdek '),
(60, u'sesdek '),
(50, u'kvindek '),
(40, u'kvardek '),
(30, u'tridek '),
(20, u'dudek '),
(10, u'dek '),
(9, u'naŭ '),
(8, u'ok '),
(7, u'sep '),
(6, u'ses '),
(5, u'kvin '),
(4, u'kvar '),
(3, u'tri '),
(2, u'du '),
(1, u'unu '),
]
def ch_v_txt(z,tb):
t=u''
while z>0:
for a,b in tb:
if z>=a:
z-=a
t+=b
break
if t.endswith(u' '):
t=t[:len(t)-1]
return t
def main(fvih):
f1=codecs.open(fvih, 'w', 'utf-8')
# f1a=codecs.open(fviha, 'w', 'utf-8')
g1=10
while g1<16:
g2=10
while g2<16:
g3=10
while g3<16:
n=g1*256+g2*16+g3
nX=(u'%03x'%n).upper()
nx=nX.lower()
nd=u'%d'%n
te=((u"*'''%s''' kiel [[deksesuma nombro]] "+
u"(kutime ĝi estas skribita kiel "+
u"'''%s<sub>16</sub>''', '''%s<sub>16</sub>''', "+
u"'''0x%s''', '''0x%s''', "+
u"'''0%sh''', '''0%sh''') egalas al "+
u"[[dekuma nombro]] [[%s (nombro)|%s]].")%
(nX,nx,nX,nx,nX,nx,nX,nd,nd))
q=[u'']*6
q[0]=nX
q[1]=nX
q[2]=u"%s (nombro)"%nd
q[3]=te
q[4]=u"%s"%nd
q[5]=u''
qt=spisvstr(q,u'@')+u'\n'
f1.write(qt)
f1.flush()
g3+=1
n=g1*16+g2
nX=(u'%02x'%n).upper()
nx=(u'%02x'%n).lower()
nd=u'%d'%n
neo=ch_v_txt(n,cheo)
XnX=u'X'+nX
te=((u"*'''0x%s''' estas [[deksesuma nombro]] "+
u"(ĝi povas esti skribita ankaŭ kiel "+
u"'''%s<sub>16</sub>''', '''%s<sub>16</sub>''', "+
u"'''0x%s''', "+
u"'''0%sh''', '''0%sh''') egala al "+
u"[[dekuma nombro]] [[%s|%s]].")%
(nX,nx,nX,nx,nx,nX,neo,nd))
q=[u'']*6
q[0]=XnX
q[1]=XnX
q[2]=neo
q[3]=te
q[4]=neo
q[5]=u'l'
qt=spisvstr(q,u'@')+u'\n'
f1.write(qt)
f1.flush()
nXH=nX+u'H'
te=((u"*'''0%sh''' estas [[deksesuma nombro]] "+
u"(ĝi povas esti skribita ankaŭ kiel "+
u"'''%s<sub>16</sub>''', '''%s<sub>16</sub>''', "+
u"'''0x%s''', '''0x%s''', "+
u"'''0%sh''') egala al "+
u"[[dekuma nombro]] [[%s|%s]].")%
(nX,nx,nX,nx,nX,nx,neo,nd))
q=[u'']*6
q[0]=nXH
q[1]=nXH
q[2]=neo
q[3]=te
q[4]=neo
q[5]=u'l'
qt=spisvstr(q,u'@')+u'\n'
f1.write(qt)
f1.flush()
HnX=u'H'+nX
te=((u"*'''&H%s''' estas [[deksesuma nombro]] "+
u"skribita per la maniero de iuj variantoj de "+
u"[[programlingvo]] [[BASIC (programlingvo)|BASIC]] "+
u"(la nombro povas esti skribita ankaŭ kiel "+
u"'''%s<sub>16</sub>''', '''%s<sub>16</sub>''', "+
u"'''0x%s''', '''0x%s''', "+
u"'''0%sh''', '''0%sh''') egala al "+
u"[[dekuma nombro]] [[%s|%s]].")%
(nX,nx,nX,nx,nX,nx,nX,neo,nd))
q=[u'']*6
q[0]=HnX
q[1]=HnX
q[2]=neo
q[3]=te
q[4]=neo
q[5]=u'l'
qt=spisvstr(q,u'@')+u'\n'
f1.write(qt)
f1.flush()
g2+=1
g1+=1
n=1
while n<=3000:
nri=ch_v_txt(n,chrim)
if len(nri)==3:
nd=u'%d'%n
if n<=1000:
neo=ch_v_txt(n,cheo)
else:
neo=u"%d (nombro)"%n
te=((u"*'''%s''' estas skribita per [[romiaj ciferoj]] "+
u"[[nombro]] [[%s|%s]].")%
(nri,neo,nd))
q=[u'']*6
q[0]=nri
q[1]=nri
q[2]=neo
q[3]=te
q[4]=u'romiaj ciferoj|'+neo
q[5]=u'l'
qt=spisvstr(q,u'@')+u'\n'
f1.write(qt)
f1.flush()
n+=1
#otch = codecs.open(fotch, 'w', 'utf-8')
#otch2 = codecs.open(fotch2, 'w', 'utf-8')
fvih=sys.argv[1]
main(fvih)