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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23
131  Seguridad Informática / Desafíos - Wargames / Re: [Pensamiento Lateral] las tres lamparas en: 30 Diciembre 2009, 22:27 pm
   Una pregunta, puedo ir a encender los interruptores y volver al pasadizo de las lámparas ¿?
132  Programación / Scripting / Calculador de Binomio de Newton [Python] en: 30 Diciembre 2009, 20:12 pm
Buenas,

Pues publico el código para realizar el binomio de newton, tanto con incógnitas como sin ellas, sé que está muy lioso el código, sobran las variables de potencias, ( me guié por Batch en el que para potencias no había x**y) , pero bueno, la cosa es que cumple la función, está puesto para uso ... diría escolar xD, es decir no presenta la solución, si no que la resuelve en los dos pasos.

Lo publico como guía o cualquier cosa, si le sirve a alguien, estaría bien. Si queréis mejorar el código o algo, ahí lo tenéis.

Una cosa, este símbolo ---> ^ , es para potencias, quiere decir elevado, ejemplo: 10^9 , sería 10 elevado a potencia 9.

 
Saludos.

Código
  1. # -*- coding: cp1252 -*-
  2. import math
  3.  
  4. print("Binomio de Newton")
  5.  
  6. # Aqui pido los datos , numeros, potencias y en caso de que haya incognitas tambien
  7. a = input("Primer numero: ")
  8. incoga = raw_input("Incognita (si no hay, poner guion -): ")
  9. b = input("Segundo numero: ")
  10. incogb = raw_input("Incognita (si no hay, poner guion -): ")
  11. pot = input("Potencia: ")
  12. if incoga == "-" and incogb == "-":
  13. print(" \n ("+str(a)+"+"+str(b)+")"+"^"+str(pot))
  14.  
  15. else:
  16. print (" \n ("+str(a)+incoga+"+"+str(b)+incogb+")"+"^"+str(pot))
  17.  
  18. # estas son las variables que hay que usar para el binomio ( los datos del triangulo de Tartaglia o Pascal)
  19.  
  20. cuno = 1
  21. cdos = 5
  22. ctres = 10
  23. ccuatro = 10
  24. ccinco = 5
  25. cseis = 1
  26. cuuno = 1
  27. cudos = 4
  28. cutres = 6
  29. cucuatro = 4
  30. cucinco = 1
  31. seuno = 1
  32. sedos = 6
  33. setres = 15
  34. secuatro = 20
  35. secinco = 15
  36. seseis = 6
  37. sesiete = 1
  38. siuno = 1
  39. sidos = 7
  40. sitres = 21
  41. sicuatro = 35
  42. sicinco = 35
  43. siseis = 21
  44. sisiete = 7
  45. siocho = 1
  46. ocuno = 1
  47. ocdos = 8
  48. octres = 28
  49. occuatro = 56
  50. occinco = 70
  51. ocseis = 56
  52. ocsiete = 28
  53. ococho = 8
  54. ocnueve = 1
  55. nuuno = 1
  56. nudos = 9
  57. nutres = 36
  58. nucuatro = 84
  59. nucinco = 126
  60. nuseis = 126
  61. nusiete = 84
  62. nuocho = 36
  63. nunueve = 9
  64. nudiez = 1
  65.  
  66. # anteriormente lo habia hecho en batch, entonces las potencias las hice en variables, pero seria mejor no hacerlo como yo, es decir para las potencias poner en la operación a**6 (ejemplo).
  67.  
  68. panueve = a**9
  69. paocho = a**8
  70. pasiete = a**7
  71. paseis = a**6
  72. pacinco = a**5
  73. pacuatro = a**4
  74. patres = a**3
  75. pados = a**2
  76.  
  77. pbnueve = b**9
  78. pbocho = b**8
  79. pbsiete = b**7
  80. pbseis = b**6
  81. pbcinco = b**5
  82. pbcuatro = b**4
  83. pbtres = b**3
  84. pbdos = b**2
  85.  
  86. # en caso de que no haya incognitas se ejecutan estos bloques
  87. if incoga == "-" and incogb == "-":
  88.  
  89. if pot == 4:
  90. print " \n " ,cuuno, "*" ,pacuatro, "+" ,cudos, "*" ,patres, "*" ,b, "+" ,cutres, "*" ,pados, "*" ,pbdos, "+" ,cucuatro, "*" ,a, "*" ,pbtres, "+" ,cucinco, "*" ,pbcuatro,
  91. print " \n \n Solucion final:" ,cuuno*pacuatro+cudos*patres*b+cutres*pados*pbdos+cucuatro*a*pbtres+cucinco*pbcuatro
  92.  
  93. if pot == 5:
  94. print " \n " ,cuno, '*' ,pacinco, "+" ,cdos, "*" ,pacuatro, "*" ,b, "+" ,ctres, "*" ,patres, "*" ,pbdos, "+" ,ccuatro, "*" ,pados, "*" ,pbtres, "+" ,ccinco, "*" ,a, "*" ,pbcuatro, "+" ,cseis, "*" ,pbcinco,
  95. print " \n \n Solucion final:" ,cuno*pacinco+cdos*pacuatro*b+ctres*patres*pbdos+ccuatro*pados*pbtres+ccinco*a*pbcuatro+cseis*pbcinco
  96. if pot == 6:
  97. print " \n " ,seuno, "*" ,paseis, "+" ,sedos, "*" ,pacinco, "*" ,b, "+" ,setres, "*" ,pacuatro, "*" ,pbdos, "+" ,secuatro, "*" ,patres, "*" ,pbtres, "+" ,secinco, "*" ,pados, "*" ,pbcuatro, "+" ,seseis, "*" ,a, "*" ,pbcinco, "+" ,sesiete, "*" ,pbseis,
  98. print " \n \n Solucion final:" ,seuno*paseis+sedos*pacinco*b+setres*pacuatro*pbdos+secuatro*patres*pbtres+secinco*pados*pbcuatro+seseis*a*pbcinco+sesiete*pbseis
  99.  
  100. if pot == 7:
  101. print " \n " ,siuno, "*" ,pasiete, "+" ,sidos, "*" ,paseis, "*" ,b, "+" ,sitres, "*" ,pacinco, "*" ,pbdos, "+" ,sicuatro, "*" ,pacuatro, "*" ,pbtres, "+" ,sicinco, "*" ,patres, "*" ,pbcuatro, "+" ,siseis, "*" ,pados, "*" ,pbcinco, "+" ,sisiete, "*" ,a, "*" ,pbseis, "+" ,siocho, "*" ,pbsiete,
  102. print " \n \n Solucion final:" ,siuno*pasiete+sidos*paseis*b+sitres*pacinco*pbdos+sicuatro*pacuatro*pbtres+sicinco*patres*pbcuatro+siseis*pados*pbcinco+sisiete*a*pbseis+siocho*pbsiete
  103.  
  104. if pot == 8:
  105. print " \n " ,ocuno, "*" ,paocho, "+" ,ocdos, "*" ,pasiete, "*" ,b, "+" ,octres, "*" ,paseis, "*" ,pbdos, "+" ,occuatro, "*" ,pacinco, "*" ,pbtres, "+" ,occinco, "*" ,pacuatro, "*" ,pbcuatro, "+" ,ocseis, "*" ,patres, "*" ,pbcinco, "+" ,ocsiete, "*" ,pados, "*" ,pbseis, "+" ,ococho, "*" ,a, "*" ,pbsiete, "+" ,ocnueve, "*" ,pbocho
  106. print " \n \n Solucion final:" ,ocuno*paocho+ocdos*pasiete*b+octres*paseis*pbdos+occuatro*pacinco*pbtres+occinco*pacuatro*pbcuatro+ocseis*patres*pbcinco+ocsiete*pados*pbseis+ococho*a*pbsiete+ocnueve*pbocho
  107.  
  108. if pot == 9:
  109. print " \n " ,nuuno, "*" ,panueve, "+" ,nudos, "*" ,paocho, "*" ,b, "+" ,nutres, "*" ,pasiete, "*" ,pbdos, "+" ,nucuatro, "*" ,paseis, "*" ,pbtres, "+" ,nucinco, "*" ,pacinco, "*" ,pbcuatro, "+" ,nuseis, "*" ,pacuatro, "*" ,pbcinco, "+" ,nusiete, "*" ,patres, "*" ,pbseis, "+" ,nuocho, "*" ,pados, "*" ,pbsiete, "+" ,nunueve, "*" ,a, "*" ,pbocho, "+" ,nudiez, "*" ,pbnueve,
  110. print " \n \n Solucion final:" ,nuuno*panueve+nudos*paocho*b+nutres*pasiete*pbdos+nucuatro*paseis*pbtres+nucinco*pacinco*pbcuatro+nuseis*pacuatro*pbcinco+nusiete*patres*pbseis+nuocho*pados*pbsiete+nunueve*a*pbocho+nudiez*pbnueve
  111.  
  112. # si hay incognitas se ejecuta esto otro
  113. else:
  114.  
  115. if pot ==4:
  116. print " \n " ,cuuno, "*" ,str(pacuatro) + incoga +"^4", "+" ,cudos, "*" ,str(patres) + incoga+"^3", "*" ,str(b) + incogb, "+" ,cutres, "*" ,str(pados) + incoga+"^2", "*" ,str(pbdos) + incogb+"^2", "+" ,cucuatro, "*" ,str(a) + incoga, "*" ,str(pbtres) + incogb+"^3", "+" ,cucinco, "*" ,str(pbcuatro) + incogb+"^4",
  117. print " \n \n Solucion final:" ,str(cuuno*pacuatro) + incoga+"^4","+",str(cudos*patres) + incoga+"^3","*",str(b) + incogb,"+",str(cutres*pados) + incoga+"^2","*",str(pbdos) + incogb+"^2","+",str(cucuatro*a) + incoga,"*",str(pbtres) + incogb+"^3","+",str(cucinco*pbcuatro) + incogb+"^4"
  118. if pot == 5:
  119. print " \n " ,cuno,'*',str(pacinco) + incoga+"^5","+",cdos,"*",str(pacuatro) + incoga+"^4","*",str(b) + incogb,"+",ctres,"*",str(patres) + incoga+"^3","*",str(pbdos) + incogb+"^2","+",ccuatro,"*",str(pados) + incoga+"^2","*",str(pbtres) + incogb+"^3","+",ccinco,"*",str(a) + incoga,"*",str(pbcuatro)+ incogb+"^4","+",cseis,"*",str(pbcinco) + incogb+"^5",
  120. print " \n \n Solucion final:" ,str(cuno*pacinco) + incoga+"^5","+",str(cdos*pacuatro) + incoga+"^4","*",str(b) + incogb,"+",str(ctres*patres) + incoga+"^3","*",str(pbdos)+ incogb+"^2","+",str(ccuatro*pados) + incoga+"^2","*",str(pbtres) + incogb+"^3","+",str(ccinco*a) + incoga,"*",str(pbcuatro) + incogb+"^4","+",str(cseis*pbcinco) + incogb+"^5",
  121.  
  122. if pot == 6:
  123. print " \n " ,seuno,"*",str(paseis) + incoga+"^6","+",sedos,"*",str(pacinco) + incoga+"^5","*",str(b) + incogb,"+",setres,"*",str(pacuatro) + incoga+"^4","*",str(pbdos) + incogb+"^2","+",secuatro,"*",str(patres) + incoga+"^3","*",str(pbtres) + incogb+"^3","+",secinco,"*",str(pados) + incoga+"^2","*",str(pbcuatro) + incogb+"^4","+",seseis,"*",str(a) + incoga,"*",str(pbcinco) + incogb+"^5","+",sesiete,"*",str(pbseis) + incogb+"^6",
  124. print " \n \n Solucion final:" ,str(seuno*paseis) + incoga+"^6","+",str(sedos*pacinco) + incoga+"^5","*",str(b) + incogb,"+",str(setres*pacuatro) + incoga+"^4","*",str(pbdos) + incogb+"^2","+",str(secuatro*patres) + incoga+"^3","*",str(pbtres) + incogb+"^3","+",str(secinco*pados) + incoga+"^2","*",str(pbcuatro) + incogb+"^4","+",str(seseis*a) + incoga,"*",str(pbcinco) + incogb+"^5","+",str(sesiete*pbseis) + incogb+"^6",
  125.  
  126. if pot == 7:
  127. print " \n " ,siuno,"*",str(pasiete) + incoga+"^7","+",sidos,"*",str(paseis) + incoga+"^6","*",str(b) + incogb,"+",sitres,"*",str(pacinco) + incoga+"^5","*",str(pbdos) + incogb+"^2","+",sicuatro,"*",str(pacuatro) + incoga+"^4","*",str(pbtres) + incogb+"^3","+",sicinco,"*",str(patres) + incoga+"^3","*",str(pbcuatro) + incogb+"^4","+",siseis,"*",str(pados) + incoga+"^2","*",str(pbcinco) + incogb+"^5","+",sisiete,"*",str(a) + incoga,"*",str(pbseis) + incogb+"^6", "+" ,siocho, "*" ,str(pbsiete) + incogb+"^7",
  128. print " \n \n Solucion final:" ,str(siuno*pasiete) + incoga+"^7","+",str(sidos*paseis) + incoga+"^6","*",str(b) + incogb,"+",str(sitres*pacinco) + incoga+"^5","*",str(pbdos) +incogb+"^2","+",str(sicuatro*pacuatro) +incoga+"^4","*",str(pbtres) + incogb+"^3","+",str(sicinco*patres) + incoga+"^3","*",str(pbcuatro) + incogb+"^4","+",str(siseis*pados) + incoga+"^2","*",str(pbcinco) + incogb+"^5","+",str(sisiete*a) + incoga,"*",str(pbseis)+ incogb+"^6","+",str(siocho*pbsiete) + incogb +"^7",
  129.  
  130. if pot == 8:
  131. print " \n " ,ocuno,"*",str(paocho) + incoga+"^8","+",ocdos,"*",str(pasiete) + incoga+"^7","*",str(b) + incogb,"+",octres,"*",str(paseis) + incoga+"^6","*",str(pbdos) + incogb+"^2","+",occuatro,"*",str(pacinco) + incoga+"^5","*",str(pbtres) + incogb+"^3","+",occinco,"*",str(pacuatro) + incoga+"^4","*",str(pbcuatro) + incogb+"^4","+",ocseis,"*",str(patres) + incoga+"^3","*",str(pbcinco) + incogb+"^5","+",ocsiete,"*",str(pados) + incoga+"^2","*",str(pbseis) + incogb+"^6","+",ococho,"*",str(a) + incoga,"*",str(pbsiete) + incogb+"^7","+",ocnueve,"*",str(pbocho) + incogb+"^8"
  132. print " \n \n Solucion final:" ,str(ocuno*paocho) + incoga+"^8","+",str(ocdos*pasiete) + incoga+"^7","*",str(b) + incogb,"+",str(octres*paseis) + incoga+"^6","*",str(pbdos) + incogb+"^2","+",str(occuatro*pacinco) + incoga+"^5","*",str(pbtres) + incogb+"^3","+",str(occinco*pacuatro) + incoga+"^4","*",str(pbcuatro) + incogb+"^4","+",str(ocseis*patres) + incoga+"^3","*",str(pbcinco) + incogb+"^5","+",str(ocsiete*pados) + incoga+"^2","*",str(pbseis) + incogb+"^6","+",str(ococho*a) + incoga,"*",str(pbsiete) + incogb+"^7","+",str(ocnueve*pbocho) + incogb+"^8"
  133.  
  134. if pot == 9:
  135. print " \n " ,nuuno,"*",str(panueve) + incoga+"^9","+",nudos,"*",str(paocho) + incoga+"^8","*",str(b) + incogb,"+",nutres,"*",str(pasiete) + incoga+"^7","*",str(pbdos) + incogb+"^2","+",nucuatro,"*",str(paseis) + incoga+"^6","*",str(pbtres) + incogb+"^3","+",nucinco,"*",str(pacinco) + incoga+"^5","*",str(pbcuatro) + incogb+"^4","+",nuseis,"*",str(pacuatro) + incoga+"^4","*",str(pbcinco) + incogb+"^5","+",nusiete,"*",str(patres) + incoga+"^3","*",str(pbseis) + incogb+"^6","+",nuocho,"*",str(pados) + incoga+"^2","*",str(pbsiete) + incogb+"^7","+",nunueve,"*",str(a) + incoga,"*",str(pbocho) + incogb+"^8","+",nudiez,"*",str(pbnueve) + incogb+"^9",
  136. print " \n \n Solucion final:" ,str(nuuno*panueve) + incoga+"^9","+",str(nudos*paocho) + incoga+"^8","*",str(b) + incogb,"+",str(nutres*pasiete) + incoga+"^7","*",str(pbdos) + incogb+"^2","+",str(nucuatro*paseis) + incoga+"^6","*",str(pbtres) + incogb+"^3","+",str(nucinco*pacinco) + incoga+"^5","*",str(pbcuatro) + incogb+"^4","+",str(nuseis*pacuatro) + incoga+"^4","*",str(pbcinco) + incogb+"^5","+",str(nusiete*patres) + incoga+"^3","*",str(pbseis) + incogb+"^6","+",str(nuocho*pados) + incoga+"^2","*",str(pbsiete) + incogb+"^7","+",str(nunueve*a) + incoga,"*",str(pbocho) + incogb+"^8","+",str(nudiez*pbnueve) + incogb+"^9"
  137.  
  138. raw_input()
133  Programación / Scripting / Re: [BATCH] Calcular numeros combinatorios en: 30 Diciembre 2009, 19:45 pm

   Yo hice el binomio de newton en .bat, solo para números, es decir, sin contar las variables, e hice en python para números y variables, creo que lo voy a subir aquí el código, pero es algo liado, pero bueno lo subo, si quieres míralo xD.
134  Programación / Scripting / Re: [BATCH] Calcular numeros combinatorios en: 29 Diciembre 2009, 19:57 pm


    La verdad, no entiendo bien el comando "for", pero bueno te entiendo lo que me quieres decir, pero Números combinatorios, no es algo general¿? , es decir, binomio de newton, y más cosas ¿?
135  Programación / Scripting / Re: [BATCH] Calcular numeros combinatorios en: 29 Diciembre 2009, 16:42 pm


    Lo que has puesto es lo de factorial no ¿?

  Ej:

  (6)       6x5x4x3x2x1        6x5x4x3x2x1     5x4
         = ------------------ = ---------------- = ---------  =  20
  (3)       3! (6-3)!                3x2x1 3x2x1        1


   
136  Foros Generales / Sugerencias y dudas sobre el Foro / Re: ¿Que noticia es real y cual no? en: 28 Diciembre 2009, 19:38 pm

 
    Yo creo que estas noticias tras pasar este día 28 de Diciembre, deberían ser borradas, para que luego en búsquedas no se encuentre información falsa.


   Saludos.
137  Programación / Scripting / Re: Duda de if sobre if [Python] en: 28 Diciembre 2009, 17:17 pm
Solo un pequeño matiz a esto ...


Citar
a = int(input("Primer numero: "))
no hace falta hacer int(input()), ya que de porsi input() retorna un numero entero no hace falta convertirlo con int()
por eso cuando pidas que el usuario introduzca un numero entero usa input("introduce el numero....") y cuando quieras que introduzca una cadena usa raw_input() y te ahorras de hacer las conversiones ...

Si mal no recuerdo CaronteGold esta con Python 2.6, y en ese caso esta bien la apreciación, pero si paso a la versión 3.x eso ya no es así, raw_input dejo de existir y paso a ser solamente input, y este devuelve un string, así que en ese caso estaría bien la conversión.

:http://docs.python.org/3.1/whatsnew/3.0.html (PEP3111)
:http://docs.python.org/3.1/library/functions.html#input

Saludos





      Sigo con la 2.6  ;D .


   He puesto en una int(input... , y en la otra he puesto, int(raw_input.. , entonces en la primera sería innecesario el int, pero en la 2da es necesario, cierto que al poner int, con input sería alargar más el code.

  Lo he dejado así:

  a = input("Primer numero: ")
incoga = raw_input("Incognita (si no hay, poner guión -): ")
b = input("Segundo numero:  ")
incogb = raw_input("Incognita (si no hay, poner guión -): ")
pot = input("Potencia: ")
138  Programación / Scripting / Re: Duda de if sobre if [Python] en: 28 Diciembre 2009, 15:51 pm


   Pues creo que eso lo había cambiado porque no me funcionaba así, no estoy muy seguro, o igual tenía raw_input , no sé. De todas formas muchas gracias, y tengo una duda que no sé si podrás resolverme :  la cosa es que quiero mostrar dos variables unidas, una será un número y otra será la incógnita ( letra ), de manera que pueda quedar así:  350x,  o 350z, según la letra que ponga el usuario.

    Saludos.
139  Programación / Scripting / Re: Duda de if sobre if [Python] en: 28 Diciembre 2009, 04:32 am

    Muchas gracias, pues estuve ahí bastante tiempo y no dí con la solución, muchas gracias    ;D ;D

   EDITO:  Una cosa, si son letras también quito las comillas ¿? , como en el caso de " no ".

Nones! Como todo lenguaje de programacion, cuando se compara un INT no se pone las comillas, pero cuando comparamos un String si hay que ponersela.

Ademas de que como no estas ingresando un Tipo de Datos Entero, le cambias el
Código:
a = int(input("Primer numero: "))
Por:
Código:
a = raw_input("Ingrese Su Nombre")

Por Ejemplo:
Código:
# Coder Shell Root

a = raw_input("Ingrese Su Nombre")

if a == "Shell Root":
    print "Hola Eres Shell Root"
else:
    print "Eres un Desconocido"

Saludos!


   En el caso de "a" "b" y "pot", si lo pido, por eso pongo el int, pero luego en la variable, como son letras no lo pongo.

    Saludos.
   
140  Programación / Scripting / Re: Duda de if sobre if [Python] en: 28 Diciembre 2009, 03:39 am

    Muchas gracias, pues estuve ahí bastante tiempo y no dí con la solución, muchas gracias    ;D ;D

   EDITO:  Una cosa, si son letras también quito las comillas ¿? , como en el caso de " no ".
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines