Algo python Conversion Base 2 à base 10 et base 10 à base 16

Fermé
lixounette - Modifié le 14 nov. 2018 à 22:15
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 - 15 nov. 2018 à 07:24
Bonjour,

Il faut que je fasse un programme qui me convertisse n’importe quelle nombre de la base 2 à base 10 et d la base 10 à la base 1-
J'ai commencer à faire de la base 2 à la base 10 mais il me dise qu'il y a a une erreur:
Voici mon programme :
P=""
N = input("Entrez le nombre que vous voulez convertir en base 10: ")
B = input("Quel est la base de votre nombre : ")
b = int(B)
D = len(N)
F = 0
for loop in range (D):
    K = N[F]
    C = int(K)*b**F
    F = F+1
    P = C+P
print("Le nombre est " ,P, "en base 10.")


Erreur : Traceback (most recent call last):
File "<tmp 1>", line 11, in <module>
P = C+P
TypeError: unsupported operand type(s) for +: 'int' and 'str'

Et je n'arrive pas du tout à faire un programme de la base 10 à la base 16.

P.S= Je ne peux pas utiliser bin(3)=11, int(11)=3, etc

Merci de votre réponse (si possible rapide).

A voir également:

3 réponses

Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 931
14 nov. 2018 à 22:14
Bonsoir, pour poster un code, merci de suivre la procédure décrite là
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ça préserve l'indentation, qui est primordiale en Python
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 931
14 nov. 2018 à 22:16
En attendant qu'un modérateur édite ton message (ou toi t'as encore un peu de temps avant qu'il ne te soit plus possible de le corriger).
Comment convertis tu à la main de base 2 vers 10.
Par exemple 1010
0
J'inverse l'ordre des chiffres :0101
Je multiplie (0+2^0) + (1+2^1) +(0+2^2) +(1+2^6)
1
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 931
15 nov. 2018 à 07:24
Presque.
C'est pas 2^6 à la fin.
Et ce n'est pas ce que fait ton code
0