Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Muuntaa base-järjestelmän luvun Maya20-järjestelmään
- # ja tulostaa luvun ylhäältä alas Maya-merkkeillä
- # käyttökomento basetoMaya(strluku,base)
- # esim basetoMaya('7E6',base=16)
- import numpy as np # tarvitaa muunnokseen dec10 --> Maya20
- nro="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
- def basetoDec(strluku,base):
- # muuntaa base-järj luvun 10-järjestelmän luvuksi
- # base 2 - 63
- #nro="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
- decluku = 0 # kerää merkeistä summaa
- reverse_str = strluku[::-1] # käännetty merkkijono, ekana vähiten merkitsevä
- for i in range(0,len(strluku)):
- charvalue = nro.find(reverse_str[i])
- decluku += charvalue*base**i
- return decluku
- def basetoMaya(strluku,base):
- # ensin strluku 10-luvuksi decluku
- decluku = basetoDec(strluku,base)
- # sitten decluku Maya-koodiksi ja tulostus
- mayastr = np.base_repr(decluku,base=20)
- merkkeja = len(mayastr)
- for i in range(0,merkkeja):
- mayachar = nro.find(mayastr[i])
- print(mayastr[i]," = ",chr(119520+mayachar),' = ',mayachar,'*20**',merkkeja-i-1,' = ',mayachar*20**(merkkeja-i-1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement