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

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).

3 réponses

  1. 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
    1. 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
    2. J'inverse l'ordre des chiffres :0101
      Je multiplie (0+2^0) + (1+2^1) +(0+2^2) +(1+2^6)
    3. Presque.
      C'est pas 2^6 à la fin.
      Et ce n'est pas ce que fait ton code