Convertir une chaîne de caractère en un chiffre
Résolu
nicolas63
-
Prog -
Prog -
Bonjour,
je suis en terminale S, spé ISN et je dois coder un programme pour passer de la base décimale à la base shadok (4) en python.
Jusque la pas de problème.
Les problèmes commencent pour convertir les fameux "ga", "bu", "zo", "meu" du language shadok en 0, 1, 2, 3 ... en inversement...
Quelqu'un a t il une solution ?
Mon algo :
# Partie n°3 : Choix de la fonction a executer
Merci d'avance !
EDIT :
résolu !
Je vous laisse le script si ça vous intéresse !
EDIT :
CCM.net n'active pas les indentations par défaut, je vous laisse les rajouter de façon logique !
je suis en terminale S, spé ISN et je dois coder un programme pour passer de la base décimale à la base shadok (4) en python.
Jusque la pas de problème.
Les problèmes commencent pour convertir les fameux "ga", "bu", "zo", "meu" du language shadok en 0, 1, 2, 3 ... en inversement...
Quelqu'un a t il une solution ?
Mon algo :
#ALGORITHME n°2 : PASSER DE LA BASE 4 AU DECIMAL
def sha2dec():
n=input("Entrer le nombre en Shadok : ")
f=open("chaine.txt","w")
f.write(n)
f.close()
f=open("chaine.txt","r")
for GA in "chaine.txt":
"GA"=="0"
for BU in "chaine.txt":
"BU"=="1"
for ZO in "chaine.txt":
"ZO"=="22"
for MEU in "chaine.txt":
"MEU"=="3"
S=0
l=len(n)-1
for chiffre in n:
S=int(S+int(chiffre))*4**l
l=l-1
print("Le nombre correspond à :",S)
### ALGORITHME n°2 : PASSER DU DECIMAL A LA BASE 4
def dec2sha():
n=input("Entrer le nombre en décimal : ")
res=[]
while int(n)>0:
res.append(str(int(n)%4))
n=int(n)//4
res.reverse()
return("".join(res))
for chiffre in res :
print("texte")
# Partie n°3 : Choix de la fonction a executer
a=int(input("BONJOUR ET BIENVENUE SUR CE PROGRAMME.\nCe programme convertit les nombres de la base Shadok au décimal et inversement.\n Pour décimal --> Shadok, tapez 1. Pour Shadok --> décimal, tapez 2."))
if a==1:
print(dec2sha)
elif a==2:
print(sha2dec())
Merci d'avance !
EDIT :
résolu !
Je vous laisse le script si ça vous intéresse !
def sha2dec():
a=input("Entrer votre nombre (Shadok) en minuscule : ")
b=a
b=b.replace('ga','0').replace('bu','1').replace('zo','2').replace('meu','3')
S=0
l=len(b)-1
for chiffre in b:
S=S+int(chiffre)*4**l
l=l-1
print(S)
def dec2sha():
a=input("Entrer votre nombre (Décimal) : ")
res=[]
while int(a)>0:
res.append(str(int(a)%4))
a=int(a)//4
res.reverse()
return("".join(res))
a=int(input("BONJOUR ET BIENVENUE SUR CE PROGRAMME.\nCe programme convertit les nombres de la base Shadok au décimal et inversement.\n Pour décimal --> Shadok, tapez 1. Pour Shadok --> décimal, tapez 2."))
if a==1:
print(dec2sha())
elif a==2:
sha2dec()
EDIT :
CCM.net n'active pas les indentations par défaut, je vous laisse les rajouter de façon logique !
A voir également:
- Convertir une chaîne de caractère en un chiffre
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Caractere speciaux - Guide