elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] - while
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] - while  (Leído 21,612 veces)
Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Re: [Python] - while
« Respuesta #10 en: 13 Octubre 2010, 19:55 pm »

Gracias.

En este caso es posible sin utilizar ni un solo if.

He intentado hacerlo el menor código posible de esta manera.

Aún gracias por el código.


En línea

Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Re: [Python] - while
« Respuesta #11 en: 13 Octubre 2010, 23:24 pm »

Al final lo hice de esta manera.

Código
  1. n = int(raw_input('Valor inicial: '))
  2. m = int(raw_input('Incremento: '))
  3.  
  4.  
  5. i = 0
  6. while i < n * m:
  7.    i += n
  8.    print i

Da el mismo resultado que el tuyo.



« Última modificación: 14 Octubre 2010, 00:22 am por Meta » En línea

Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Re: [Python] - while
« Respuesta #12 en: 14 Octubre 2010, 01:04 am »

Este otro ejercicio que no entiendo lo que me quiere decir mucho.

Citar
Haz una aplicación que muestre todos los números potencia de 2 entre 20 y 230, ambos inclusive.

Código
  1. i = 0
  2. while i <= 230:
  3.     i += 2**20
  4.     print i
  5.  

Este otro funciona con más sentido pero no significa que sea lo que me está pidiendo.

Código
  1. # Bucle.
  2. i = 20
  3. while i < 230:
  4.    i += 1**2
  5.    print i
  6.  
« Última modificación: 14 Octubre 2010, 01:09 am por Meta » En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [Python] - while
« Respuesta #13 en: 14 Octubre 2010, 04:35 am »

Buenas :)

Como dice el enunciado, este código lo que te pide es que muestres todas las potencias de dos cuyo resultado se encuentre entre 20 y 230 (Estos dos números inclusive).

Tu primer código:

Código
  1. i = 0
  2. while i <= 230:
  3.     i += 2**20
  4.     print i

Inicializas la variable i en 0 y entrás en un bucle el cual se va a ejecutar mientras el valor de i sea menor o igual que 230. En la primer iteración i vale 0 y ejecuta lo que esta dentro del while. Al entrar asigna a i su valor mas 2**20 (0+1048576). Como el valor de i ahora es mayor que 230, no cumple la condición y no vuelve a entrar.

El otro code:

Código
  1. # Bucle.
  2. i = 20
  3. while i < 230:
  4.    i += 1**2
  5.    print i

Inicializas la variable i con valor 20. Como es menor que 230, entra en el bucle. Adentro asigna a i el valor de 1 elevado al cuadrado (Que viene a ser uno. Osea, es lo mismo que hacer i += 1 :P). Lo que hace es mostrar los valores del 21 al 230.

Lo que tenés que hacer es ir tomando valores, elevándolos al cuadrado e imprimirlos si el resultado se encuentra entre 20 y 230.

Podrías hacer algo asi:

Código
  1. i = 5    # Esto es porque 2**5 es el primer valor mayor o igual que 20
  2. while 2 ** i <= 230:
  3.    print 2 ** i
  4.    i += 1

Un saludo ;)



« Última modificación: 14 Octubre 2010, 04:38 am por criska » En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [Python] - while
« Respuesta #14 en: 14 Octubre 2010, 05:35 am »

Bueno yo tengo una respuesta diferente, inicializando i=0... :xD me encontre un poquito de trampa inicializar i=5.

Código
  1. i = 0
  2. while (2**i<=230):
  3.    if((2**i)>=20):print 2**i
  4.    i+=1
  5.  
En línea

Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Re: [Python] - while
« Respuesta #15 en: 14 Octubre 2010, 05:39 am »

Llegué a pensar que sería así:

Código
  1. i = 21
  2. while 20 <= 230:
  3.    i += 1
  4.    print 2 ** i

Tu código tiene varios 2 ** i.

Como resultado, tu código sale así:

64
128
256

Cuando en realidad el máximo es 230.
En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [Python] - while
« Respuesta #16 en: 14 Octubre 2010, 05:44 am »

No, verifica si pegaste bien, el resultado en mi codigo es

Código:
32
64
128
En línea

Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Re: [Python] - while
« Respuesta #17 en: 14 Octubre 2010, 06:12 am »

El tuyo funciona bien, el de él se queda en 256.

Código
  1. i = 5
  2. while 2 ** i <= 230:
  3.    i += 1
  4.    print 2 ** i

Resultado: 256.
Código
  1. i = 5    
  2. while 2 ** i < 230:
  3.    i += 1
  4.    print 2 ** i

256.

En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [Python] - while
« Respuesta #18 en: 14 Octubre 2010, 06:24 am »

colocando i+=1 al final ya deberia de estar todo bien.

Código
  1. i=5
  2. while 2**i<=230:
  3.        print 2**i
  4.        i+=1
En línea

Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Re: [Python] - while
« Respuesta #19 en: 14 Octubre 2010, 07:34 am »

JEjee, ahora si. Eso que tengo la manía de usar los print al final.

Gracias a tod@s.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines