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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34
251  Programación / Scripting / Re: [Python] for in y sumatorios en persona. en: 16 Octubre 2010, 15:24 pm
Buenas Meta :)

En el primer ejercicio, segun entiendo, tenes que calcular la sumatoria de todos los numeros enteros comprendidos entre [n;m] (Ambos incluidos).

En tu primer codigo calculas bien la suma, solo que no incluis ningun numero impar ni el ultimo valor.

Devuelve esto:

Código:
0 + 2 + 4 + 6 + 8 = 20

En el segundo calculas la suma pero no la devolves :P Solo mostras el ultimo valor de i. En el tercero haces lo mismo que en el anterior, con la diferencia de que al no pasarle el tercer argumento a range(), tambien te muestra los numeros impares.

Una ultima cosa que acabo de leer :P La funcion range() devuelve una lista de numeros enteros sucesivos, desde el primer valor hasta el ultimo (Que NO se incluye), es decir, para calcular la sumatoria de los numeros del 1 al 10 por ejemplo, tendrias que usar algo asi:

Código
  1. range(n, m + 1)

Edito:

En el ejercicio 124 te pide calcular la sumatoria de los valores comprendidos en el intervalo [n,m] (Igual que el anterior) con la diferencia que ahora dichos numeros deben estar elevados al cuadrado.

Por ejemplo, usamos como valores n = 0 y m = 5

Salida en el 123

Código:
0 + 1 + 2 + 3 + 4 + 5 = 15

Salida en el 124

Código:
0 ** 2 + 1 ** 2 + 2 ** 2 + 3 ** 2 + 4 ** 2 + 5 ** 2 = 55

Y el ej. 125 tenes que calcular la sumatoria (Otra vez, igual que el primero) con la diferencia de que ahora solo tenes que usar los numeros pares.

Un saludo ;)
252  Programación / Scripting / Re: Valores incorrectos en: 15 Octubre 2010, 23:40 pm
Si, debe ser por eso. No me había fijado cuanto devolvía la resta (Eso me pasa por suponer :P)

Lo resolví así:

Código
  1. b = (100, 50, 20, 10, 5, 2, 1, 0.5, 0.25, 0.1, 0.05)
  2.  
  3. v = float(raw_input("Ingrese vuelto: "))
  4. i = 0
  5. j = 0
  6. l = len(b)
  7.  
  8. while i != l:
  9.    while v - b[i] >= 0:
  10.        # v -= b[i]
  11.        v = (v * 10 - b[i] * 10) / 10
  12.        j += 1
  13.    if j != 0:
  14.        print j, " billetes/monedas de ", b[i]
  15.    j = 0
  16.    i += 1
  17. if v != 0:
  18.    print "Con %.2f centavos imposibles de devolver" % v

Muchas gracias Novlucker! Un saludo ;)
253  Programación / Scripting / Valores incorrectos [python] en: 15 Octubre 2010, 22:29 pm
Buenas chicos,

Estaba resolviendo este ejercicio y me surgió un problema:

Citar
Dada una cantidad de dinero, indicar como repartir el vuelto de manera que se utilice la menor cantidad de monedas.

Acá mi código:

Código
  1. b = (100, 50, 20, 10, 5, 2, 1, .5, .25, .1, .05)
  2.  
  3. v = float(raw_input("Ingrese vuelto: "))
  4. i = 0
  5. j = 0
  6. l = len(b)
  7.  
  8. while i != l:
  9.    while v - b[i] >= 0:
  10.        v -= b[i]
  11.        j += 1
  12.    if j != 0:
  13.        print j, " billetes/monedas de ", b[i]
  14.        print "El valor restante es: ", v    # Esta unicamente para comprobar los resultados
  15.    j = 0
  16.    i += 1

La salida del script utlizando como valor 1807.35 es:

Código:
18  billetes/monedas de  100
El valor restante es:  7.35
1  billetes/monedas de  5
El valor restante es:  2.35
1  billetes/monedas de  2
El valor restante es:  0.35
1  billetes/monedas de  0.25
El valor restante es:  0.0999999999999
1  billetes/monedas de  0.05
El valor restante es:  0.0499999999999

Por qué después de hacer la resta 0.35-0.25 devuelve 0.09 y no 0.1? :-\

Un saludo y gracias ;)

254  Programación / Scripting / Re: [Python] raíz n ésima en: 15 Octubre 2010, 20:30 pm
Perdón por el OT, pero WindHack, no entiendo que hace esta línea:

Código
  1. print 'r(%i) = %f' % (n,y)

Me podés explicar?

Un saludo y gracias ;)
255  Programación / Scripting / Re: [Python] raíz n ésima en: 15 Octubre 2010, 17:17 pm
Según entiendo, tenes que hacer un script que a partir de un número dado calcule su raíz, tomando como valor del índice valores entre 2 y 100.

sqrt() sólo te serviría para calcular la raíz con el índice valiendo 2.





256  Programación / Scripting / Re: [Python] - while 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 ;)



257  Programación / Scripting / Re: [Python] - while en: 13 Octubre 2010, 14:11 pm
Tu código está bien, pero no hace exactamente lo que pide el enunciado.

El mismo dice que dados dos valores n y m, obtener todos los múltiplos de n en el intervalo [n ; n*m], incluyendo los extremos. Entonces, el contador del bucle no tendría que comenzar en cero, sino en n.

Otra manera de hacerlo:

Código
  1. n = int(raw_input("Ingrese el valor de n: "))
  2. m = int(raw_input("Ingrese el valor de m: "))
  3. i = n    # Funcionara como divisor
  4. k = n * m    # Funcionara como valor limite del bucle
  5.  
  6. print "Los multiplos de ", n, " entre [", n,";", n * m,"] son: "
  7.  
  8. while n <= k:
  9.    if n % i == 0:
  10.        print n
  11.    n += 1

Un saludo ;)
258  Seguridad Informática / Criptografía / Re: Taller: Criptografía asimétrica. en: 12 Octubre 2010, 16:51 pm
Buenas chicos, tengo unas preguntas sobre el primer capítulo (Perdón por la tardanza, comencé tarde a leerlo):

  • ¿Por qué los cifrados simétricos son mas seguros que los asimétricos con claves mas pequeñas?
  • Si cifro un mensaje utilizando mi clave privada, ¿es posible que alguien teniendo el texto cifrado y la clave pública, obtenga mi clave privada?

Un saludo y muchas gracias APOKLIPTICO por el taller, me fascina la criptografía ;D
259  Programación / Scripting / Re: Raíz en: 11 Octubre 2010, 17:10 pm
Otra cosa (No se si tendra mucho que ver), pero la formula no es al reves?

Código
  1. sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
260  Programación / Scripting / Re: [Python] Vocales y carácteres en: 8 Octubre 2010, 14:33 pm
Podes poner un elif en el segundo bloque.

Código
  1. caracter = raw_input('Introduce cualquier car&#38;#225;cter: ')
  2.  
  3. var = ord(caracter)
  4.  
  5. if var >= 65 and var <= 90:
  6.    if (var == 65 or var == 69 or var == 49 or var == 70 or var == 85):
  7.        print "Vocal may&#38;#250;scula."
  8.    else:
  9.        print "Consonante may&#38;#250;scula."
  10. elif var >=  97 and var <= 122:
  11.    if (var == 97 or var == 101 or var == 105 or var == 111 or var == 117):
  12.        print "Vocal min&#38;#250;scula."
  13.    else:
  14.        print "Consonante min&#38;#250;scula."

Un saludo ;)
Páginas: 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines