Programme de conversion en Python

Fermé
Dinette123 Messages postés 4 Date d'inscription lundi 11 novembre 2013 Statut Membre Dernière intervention 11 novembre 2013 - 11 nov. 2013 à 14:19
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 12 nov. 2013 à 21:43
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

1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
11 nov. 2013 à 16:37
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:
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
4
Dinette123 Messages postés 4 Date d'inscription lundi 11 novembre 2013 Statut Membre Dernière intervention 11 novembre 2013
11 nov. 2013 à 18:42
Je comprends ce que tu me dis.

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 !
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
11 nov. 2013 à 18:58
"est ce que je devrais utiliser une fonction": pour l'entrée utilisateur? Sur Python 2.x il faut se servir de
raw_input
et sur 3.x,
input
.
"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
format
:
bases = {2: 'b', 10: 'd', 16: 'h'}
, 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:
"Bonjour je suis une chaîne"
0