1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
# Liste des termes du langage des Shadocks
# liste globale réutilisable dans d'autres calculs
Shads=["GA","BU","ZO","MEU"]
def convertBase10toShadocks(n):
q=n #variable qui contiendra le quotient de la division euclidienne n//4
r=0 #variable qui contiendra le reste de cette division.
Base4=[] #liste qui contiendra la conversion du nombre base 10 en base 4
if q==0: #permet de traiter le cas où n=0
Base4.append(0) #valeur 0 entre dans liste Base4
else:
while q>0:
q=n//4 #q reçoit le quotient de la division euclidienne n//4
r=n%4 #r reçoit le reste de la division
n=q #n reçoit la valeur du quotient q
Base4.append(r) #la valeur du reste r entre dans liste Base4
Base4.reverse() # On retourne la liste
return [Shads[i] for i in Base4] #On affecte la valeur du rang i de la liste Shads à la valeur correspondante de la liste Base4, et on stocke ceci dans la liste VocShad
def Test1():
n = int(input("Entrez le nombre en base 10 : "))
print(convertBase10toShadocks(n))
def Test2():
print "Table de multiplication de BU MEU (7) en shadok)"
for n in range(10):
print convertBase10toShadocks(n+1), "X", convertBase10toShadocks(7), "=", convertBase10toShadocks(7*(n+1)) |