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
- Clavier iphone chiffre et lettre - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur