Python - Ciclo while para obtener el máximo exponente posible

 
Vista:
sin imagen de perfil
Val: 19
Ha disminuido su posición en 6 puestos en Python (en relación al último mes)
Gráfica de Python

Ciclo while para obtener el máximo exponente posible

Publicado por Cristina (8 intervenciones) el 30/09/2018 16:53:09
No entiendo por qué con el siguiente código no consigo obtener el resultado correcto. Se trata de obtener el máximo exponente posible que cumpla que dos elevado a dicho exponente sea el número más grande posible menor que un número que elijamos (por ejemplo 65).

1
2
3
4
5
6
7
8
def exponente(num):
    n=1
    while 2**n <= num:
        n=n+1
    n=n-1
    return n
 
print(exponente(num))

El código es muy sencillo y no entiendo dónde está el error.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 19
Ha disminuido su posición en 6 puestos en Python (en relación al último mes)
Gráfica de Python

Ciclo while para obtener el máximo exponente posible

Publicado por Cristina (8 intervenciones) el 30/09/2018 17:10:35
Acabo de darme cuenta de que no le he dado un valor a num. El código correcto es:
1
2
3
4
5
6
7
8
def exponente(num):
    n=1
    while 2**n <= num:
        n=n+1
    n=n-1
    return print(n)
 
exponente(65)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Ciclo while para obtener el máximo exponente posible

Publicado por s3r (1 intervención) el 01/10/2018 21:38:32
1
2
3
4
5
6
7
8
def exponente(num):
    n=1
    while 2**n <= num:
        n=n+1
    n=n-1
    return n
 
print exponente(65)


Por lo que veo está bien, lo único que no puedes poner un return-print junto como has hecho en la linea 6.
También puedes poner el print n (en la linea 6 ) y luego al llamar a la función sin el print. ej:

1
2
3
4
5
6
7
8
def exponente(num):
    n=1
    while 2**n <= num:
        n=n+1
    n=n-1
    print (n)
 
exponente(65)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar