7 réponses
Hola,
En lugar de una imagen del código, preferimos que esté en el mensaje, con el ícono de fuente y el lenguaje Python que da:
for i in range(4): print(i)
Tu declaración indica que la potencia de 2 es un cálculo posicional de derecha a izquierda, por lo que no puedes simplemente tomar i. Luego, debes extraer la posición del binario con una sintaxis binaria[i].
Entiendo el código en el mensaje, pero después no veo cómo hacerlo de derecha a izquierda y aún menos cómo extraer la posición del binario ya que no la vimos en clase.
Dependiendo del valor de i, de 0 a 3, vas a extraer el bit a tratar con binaire[i]
Luego, para la potencia de 2, necesitas encontrar una fórmula que combine i (variando de 0 a 3) y len(binaire) que es 4 donde
- cuando i=0 potencia de 2 = 3
- cuando i=1 potencia de 2 = 2
- cuando i=2 potencia de 2 = 1
- cuando i=3 potencia de 2 = 0
gracias por esto, pero de verdad no te miento, tengo 3 ejercicios más en el trabajo de clase y no sé qué tiene el profesor en la cabeza, no tenemos la clase, solo nos dio algunas herramientas para supuestamente ayudarnos.
Incluso he comenzado el segundo ejercicio pero sigo teniendo dificultades
aquí está el código del 2 y las instrucciones relacionadas

:
def dec_to_bin(decimal):
binaire=""
quotient = decimal // 2
reste = decimal % 2
binaire = reste + binaire
while quotient!=0 :
decimal = quotient
reste = decimal % 2
binaire = reste + binaire
quotient = decimal//2
# al final, mientras que el binario no tenga un tamaño de 4
while binaire != 4:
# agregamos "0" a la izquierda
binaire = ...
return binaire
# Las líneas de abajo prueban tu código... ¡no las toques!
# Si aparece un AssertionError... es que tu código no es bueno...
assert dec_to_bin(10) == '1010'
assert dec_to_bin(15) == '1111'
assert dec_to_bin(0) == '0000'
