You are not logged in.
The forum to cure all your computer anxieties
Voilà ma proposition
Offline
Il y a comme un problème....
Moi[3]: int_to_bin(8)
Python[3]: '00000000111'
Il faut un minimum tester vos fonctions....Bon, pensez aux cartes des petits enfants : je retourne ou pas la carte mais de toute façon je passe toujours à la carte suivante !
Pour éviter ce genre de désagrément, écrivez bien l'algo sur papier avant, faites-le tourner sur papier sur un exemple, passez ensuite à la traduction en programme python, écrivez un docstring avec au moins un exemple, commentez code et testez.
Offline
voilà le programme corrigé
def int_to_bin(nb: int) -> str:
if nb > 2**10-1:
return "erreur : nombre choisi trop grand"
x = 10
chaîne = ""
while x != 0:
if nb < 2**x:
chaîne = chaîne + "0"
x = x - 1
else:
chaîne = chaîne + "1"
nb = nb - 2**x
x = x - 1
if nb == 1:
chaîne = chaîne + "1"
else:
chaîne = chaîne + "0"
return chaîne
Offline
OK.
Suite au cours de mardi, la fonction à améliorer est maintenant celle-ci:
Offline
Je propose de remplacer
par
et de rajouter la fonction
Offline
Bonne idée de créer une fonction auxiliaire qui d'ailleurs semble faire le boulot
Offline
Renvoie l'écriture de l'entier positif n en base 2 sous forme d'une chaîne de caractères, je propose :
Offline
Ne pas oublier de mettre le code entre deux balises :
comme expliqué dans un post précédent (il faut lire les posts précédents)
Offline
Renvoie l'écriture de l'entier positif n en base 2 sous forme d'une chaîne de caractères, je propose :
def algo_sous (n: int) -> str:
n= input ("nombre entier à tranposer en base 2: ")
bin("nombre entier")
print("nombre entier")
L'idée n'est pas d'utiliser bin ! Il faut bien sûr écrire une fonction personnelle qui fait la même chose...comme dit plusieurs fois en cours !
Et les input/print, ce n'est pas ce que l'on recherche...comme expliqué en cours !
Offline