Me estoy haciendo esto¿Encuentra la potencia más grande de dos menos que el número X?
def power_two(n, base = -1):
result = 2 ** base
if result < n:
base += 1
power_two(n, base)
else:
if result == n:
print base
else:
print base - 1
cuál es el camino para encontrar Pythonic mayor potencia de dos menos que el número de X?
EDITAR ejemplo: power_two (100) devolver sólo el poder
Cuando dice menos que, ¿quiere decir "menor o igual" o "estrictamente menor que"? En otras palabras, ¿qué debería devolver si n es una potencia exacta de 2, por ejemplo 32? –
¿Qué es "pitónico" sobre el uso de logaritmos? Esos son los antecedentes de Python por 377 años más o menos. –
@JUST MI OPINIÓN correcta: ¿Qué sugieres en su lugar? –