Programme de conversion en Python
Dinette123
Messages postés
4
Statut
Membre
-
ElementW Messages postés 5690 Statut Contributeur -
ElementW Messages postés 5690 Statut Contributeur -
Bonjour,
J'aimerais écrire un programme en python dans le quel nous entrons un nombre entier positif (décimal ou binaire ou hexadécimal) et qui sera convertis en décimal/binaire/hexadécimal.
Soit
entrer un décimal, le convertir en binaire et en hexadécimal
ou
entrer un binaire, le convertir en décimal et en hexadécimal
ou
entrer un hexadécimal, le convertir en décimal et binaire.
Je suis débutante en programmation, et je dois avouer que ce programme me prend vraiment la tête et donc que j'ai envie de trouver la solution.
Merci à ceux qui prendront le temps de m'aider
J'aimerais écrire un programme en python dans le quel nous entrons un nombre entier positif (décimal ou binaire ou hexadécimal) et qui sera convertis en décimal/binaire/hexadécimal.
Soit
entrer un décimal, le convertir en binaire et en hexadécimal
ou
entrer un binaire, le convertir en décimal et en hexadécimal
ou
entrer un hexadécimal, le convertir en décimal et binaire.
Je suis débutante en programmation, et je dois avouer que ce programme me prend vraiment la tête et donc que j'ai envie de trouver la solution.
Merci à ceux qui prendront le temps de m'aider
A voir également:
- Programme python conversion decimal hexadecimal
- Éditeur hexadécimal - Télécharger - Édition & Programmation
- Programme demarrage windows - Guide
- Citizen code python avis - Accueil - Outils
- Programme word gratuit - Guide
- Message programmé iphone - Guide
1 réponse
Salut, je vais pas faire l'exo à ta place mais te donner quelques pistes:
En premier lieu il faut que l'utilisateur précise la base du chiffre (10, 2 ou 16):
1101001 est un nombre binaire mais aussi décimal et hexadécimal, et on ne peut pas détecter tout seul de quelle base il s'agit.
À partir d'un string, on peut avoir un int selon une base:
Et dans l'autre sens,
- 'b', binaire
- 'o', octal
- 'd', décimal
- 'h', hexadecimal
En premier lieu il faut que l'utilisateur précise la base du chiffre (10, 2 ou 16):
1101001 est un nombre binaire mais aussi décimal et hexadécimal, et on ne peut pas détecter tout seul de quelle base il s'agit.
À partir d'un string, on peut avoir un int selon une base:
nombre = int(string, base)où, dans ce cas, base vaudra 10, 2 ou 16 selon le choix de l'utilisateur.
Et dans l'autre sens,
format(nombre, format)peut te convertir les nombres selon format:
- 'b', binaire
- 'o', octal
- 'd', décimal
- 'h', hexadecimal
J'aimerais faire une base téléphonique, si on veut ça, on tape ça. Forcément, j'ai une idée en français, mais la traduction est très compliquée.
Entrer un nombre, donner la base de ce nombre, puis demander à ce qu'il soit convertis dans les deux autres bases. Mais j'ai vraiment pas le début, est ce que je devrais utiliser une fonction? Ou peut être que c'est inutile ? Je commence par définir mes bases ? Quelle est l'utilité d'un string ? (la programmation est nouvelle depuis quelques semaines, c'est un choix que je regrette au jour d'aujourd'hui car les débuts sont vraiment difficiles...)
J'espère que tu accepteras de m'aider encore un peu. En tout cas, merci !
"définir mes bases": c'est pas obligatoire, ça peut s'écrire directement dans le code, mais comme Python aime le joli code, on peut utiliser un dictionnaire pour : , peut-être que tu t'en serviras (ou pas, ça dépend comment tu implémentes ton programme)
"utilité d'un string": string veut dire chaîne, en l'occurence c'est une chaîne de caractères, comme ça par exemple:
OK pour input et string, un peu de mal à remettre chaque utilité.
Est ce que tu pourrais m'aider pour le point de départ, s'il te plait ? Car je ne pas vraiment où aller.
d=imput("décimal")
b=input("binaire")
h=input("hexadécimale")
n=input("entrer un nb entier à convertir")
input("donner la base de ce nombre entier")
input('convertir ce nb",d,b,h)
Est ce que je peux utiliser les fonctions bin et hex ? (je n'ai pas trouvé pour décimal)
Je suis consciente qu'il me manque beaucoup de choses mais je n'arrive pas a mettre les choses dans l'ordre...
A partir de là, sers-toi de ces deux variables pour convertir dans un sens et dans l'autre.
ah oui, j'ai oublié cette étape car tout s'est effacé la première fois :
if caractere_base == "b":
return d
return h
même chose pour les 2 autres solutions
est ce que ça peut aller de cette facon? (je n'ai pas python sur cet ordinateur, je ne peux pas tester sur le moment du coup)