Advertisement
jukaukor

basetoMaya.py

Feb 19th, 2022
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. # Muuntaa base-järjestelmän luvun Maya20-järjestelmään
  2. # ja tulostaa luvun ylhäältä alas Maya-merkkeillä
  3. # käyttökomento basetoMaya(strluku,base)
  4. # esim basetoMaya('7E6',base=16)
  5.  
  6. import numpy as np # tarvitaa muunnokseen dec10 --> Maya20
  7. nro="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
  8.  
  9. def basetoDec(strluku,base):
  10. # muuntaa base-järj luvun 10-järjestelmän luvuksi
  11. # base 2 - 63
  12. #nro="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
  13. decluku = 0 # kerää merkeistä summaa
  14. reverse_str = strluku[::-1] # käännetty merkkijono, ekana vähiten merkitsevä
  15. for i in range(0,len(strluku)):
  16. charvalue = nro.find(reverse_str[i])
  17. decluku += charvalue*base**i
  18. return decluku
  19.  
  20. def basetoMaya(strluku,base):
  21. # ensin strluku 10-luvuksi decluku
  22. decluku = basetoDec(strluku,base)
  23. # sitten decluku Maya-koodiksi ja tulostus
  24. mayastr = np.base_repr(decluku,base=20)
  25. merkkeja = len(mayastr)
  26. for i in range(0,merkkeja):
  27. mayachar = nro.find(mayastr[i])
  28. print(mayastr[i]," = ",chr(119520+mayachar),' = ',mayachar,'*20**',merkkeja-i-1,' = ',mayachar*20**(merkkeja-i-1))
  29.  
  30.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement