Aide pour un devoir

Fermé
Anna - Modifié le 23 oct. 2020 à 18:34
 Utilisateur anonyme - 23 oct. 2020 à 18:26
Bonjour, si possible j'aimerai de l'aide pour mon DM en informatique, je n'arrive pas à faire un de mes exercices, bien sûr je ne vous demande pas de tout faire à ma place, seulement de m'aider et m'expliquer si possible. Mon niveau n'est pas très bon mais je fais de mon mieux pour progresser : )

Voici mon exercice :
Créer une fonction python complement2(nombre, nbbits) , avec comme arguments, un nombre entier relatif en base 10 et le nombre de bits sur lesquels on souhaite coder le nombre. La fonction doit retourner soit "codage impossible" (si le nombre de bits n’est pas suffisant) soit le
codage signé du nombre en base 2 .

Et voilà ce que j'ai tenté de faire (je sais que c'est maigre mais j'ai fais de mon mieux):
Et voici ce que j'ai tenté de faire :
def complement2(nombre,nbbits):
if nombre > 1:
complement2(nombre//2)
print(nombre % 2, end='')

Merci beaucoup à tous ceux qui prendront le temps de répondre ^_^

2 réponses

Utilisateur anonyme
23 oct. 2020 à 16:42
Bonjour

en python, il y a un truc primordial => l'indentation.
Or en postant sur un forum les espacements "inutiles" s'en vont.

Pour remédier à ça, CMM, comme tout site de code qui se respecte dispose d'un outil: les balises de code.
Voici un court tuto pour apprendre à s'en servir et reposter ton code correctement
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Pour ton problème, en plus, peux tu me décrire comme tu ferais "à la main" un conversion du nombre 9 en 3 bits et du nombre 14 en bits?
0
Utilisateur anonyme
23 oct. 2020 à 17:46
Merci beaucoup pour le conseil !
def complement2(nombre,nbbits):
    if nombre > 1:
        complement2(nombre//2)
        print(nombre % 2, end='')


Je dois convertir le nombre 9 en base 2 sur 3 bits puis sur 14 ?
0
Utilisateur anonyme
23 oct. 2020 à 18:26
oui, si tu sais le faire à la main, ce sera plus simple à coder.
Si tu ne sais, il y a pleins de tuto sur le net
0