Les conversions sont effectuées par 3 fichiers :
L'IHM est assurée par le fichier :
Utilisant les fichiers :
Afin de générer le titre.
La mise en relation des différentes parties du programme est effectuée par le fichier :
-
convert_to_dec (n, base)
est une fonction qui transforme n'importe quelle chaîne de caractèresn
associée à une base disponible appeléebase
en un nombre décimal. Cette fonction utilise les fonctions : -
convert_hex_to_dec (h)
convertissant un hexadecimalh
en décimal -
convert_bin_to_dec (b)
convertissant un binaireb
en décimal
-
convert_to_hex (n, base)
transformant n'importe quelle chaîne de caractèresn
associée à une base disponible appeléebase
en un nombre hexadécimal. elle utilise les fonctions : -
convert_dec_to_hex (n)
convertissant un décimaln
en hexadécimal -
convert_bin_to_hex (b)
convertissant un binaireb
en un hexadécimal, en le convertissant d'abord en décimal viaconvert_to_dec
puis en hexadécimal viaconvert_dec_to_hex
.
-
convert_to_bin (n, base)
transformant n'importe quelle chaîne de caractèresn
associée a une base disponible appeléebase
en un nombre binaire. elle utilise les fonctions : -
convert_dec_to_bin (n)
convertissant un décimaln
en binaire -
convert_hex_to_bin (h)
convertissant un hexadécimalh
en un binaire, en le convertissant d'abord en décimal viaconvert_to_dec
puis en binaire viaconvert_dec_to_bin
.
-
output_result (n, initial_base, final_base)
est une fonction affichant le résultat de la conversion de l'entier natureln
en baseinitial_base
à la basefinal_base
. Cette fonction prend en arguments trois strings et ne retourne rien. -
get_inputs ()
est une fonction permettant de recueillir les entrées de l'utilisateur (étant le nombre entier à convertir, sa base, ainsi que la base dans laquelle on veut convertir l'entier naturel). Par conséquence, cette fonction ne prend aucun argument, mais renvoie trois strings. -
wait_for_input (text, error_text, *possible_inputs)
est une fonction permettant d'obtenir une entrée de l'utilisateur après avoir afficher le stringtexte
. Si l'entrée donnée n'est pas dans les différents*possible_inputs
, alors on afficheerror_text
et on redemande à l'utilisateur d'entrer une information jusqu'à ce qu'elle soit validée.
-
print_with_font (text)
est une fonction qui premièrement importe l'équivalent de chaque lettre à l'aide de la fonctionget_font
. Elle utilise ces équivalences pour écrire un texte donné en argument avec la police choisie. -
get_font ()
est une fonction qui retourne un dictionnaire comprenant pour chaque lettre une liste correspondant à chaque ligne de la police.
-
introduce_program ()
écrit les informations d'utilisation du programme ainsi que le titre à l'aide de la fonctionprint_with_font ()
importée depuis AsciiArt.py . -
get_str_list_conversions (conversions)
est une fonction prenant une liste de dictionnaires (conversions
) et renvoie une liste de textes telle que chaque texte résume une conversion, dans l'ordre dans lequel les conversions ont été réalisées. -
display_conversions ()
écrit en sortie toutes les conversions qui ont été faites depuis le lancement du programme, à l'aide de la fonctionget_str_list_conversions
. -
update_txt_file (conversions)
est une fonction prenant une liste de dictionnaires (conversions
) et écrit à la suite du fichierconversions.txt
les conversions, à l'aide de la fonctionget_str_list_conversions
. -
La dernière partie n'est exécutée que si le programme est executé directement. Elle appelle la fonction
introduce_program ()
, réalisant les conversions de l'utilisateur et les affichant après que l'utilisateur n'ait plus envie de réaliser des conversions.
Chaque fichier peut être utilisé indépendemment des autres, mis à part ConvertToBin.pyet ConvertToHex.py qui emploient ConvertToDec.py, en l'important a l'aide du keyword import
.