Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - CaronteGold

#131
   Una pregunta, puedo ir a encender los interruptores y volver al pasadizo de las lámparas ¿?
#132
Scripting / Calculador de Binomio de Newton [Python]
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 (python) [Seleccionar]
# -*- coding: cp1252 -*-
import math

print("Binomio de Newton")

# Aqui pido los datos , numeros, potencias y en caso de que haya incognitas tambien
a = input("Primer numero: ")
incoga = raw_input("Incognita (si no hay, poner guion -): ")
b = input("Segundo numero: ")
incogb = raw_input("Incognita (si no hay, poner guion -): ")
pot = input("Potencia: ")
if incoga == "-" and incogb == "-":
print(" \n ("+str(a)+"+"+str(b)+")"+"^"+str(pot))

else:
print (" \n ("+str(a)+incoga+"+"+str(b)+incogb+")"+"^"+str(pot))

# estas son las variables que hay que usar para el binomio ( los datos del triangulo de Tartaglia o Pascal)

cuno = 1
cdos = 5
ctres = 10
ccuatro = 10
ccinco = 5
cseis = 1
cuuno = 1
cudos = 4
cutres = 6
cucuatro = 4
cucinco = 1
seuno = 1
sedos = 6
setres = 15
secuatro = 20
secinco = 15
seseis = 6
sesiete = 1
siuno = 1
sidos = 7
sitres = 21
sicuatro = 35
sicinco = 35
siseis = 21
sisiete = 7
siocho = 1
ocuno = 1
ocdos = 8
octres = 28
occuatro = 56
occinco = 70
ocseis = 56
ocsiete = 28
ococho = 8
ocnueve = 1
nuuno = 1
nudos = 9
nutres = 36
nucuatro = 84
nucinco = 126
nuseis = 126
nusiete = 84
nuocho = 36
nunueve = 9
nudiez = 1

# 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).

panueve = a**9
paocho = a**8
pasiete = a**7
paseis = a**6
pacinco = a**5
pacuatro = a**4
patres = a**3
pados = a**2

pbnueve = b**9
pbocho = b**8
pbsiete = b**7
pbseis = b**6
pbcinco = b**5
pbcuatro = b**4
pbtres = b**3
pbdos = b**2

# en caso de que no haya incognitas se ejecutan estos bloques
if incoga == "-" and incogb == "-":

if pot == 4:
print " \n " ,cuuno, "*" ,pacuatro, "+" ,cudos, "*" ,patres, "*" ,b, "+" ,cutres, "*" ,pados, "*" ,pbdos, "+" ,cucuatro, "*" ,a, "*" ,pbtres, "+" ,cucinco, "*" ,pbcuatro,
print " \n \n Solucion final:" ,cuuno*pacuatro+cudos*patres*b+cutres*pados*pbdos+cucuatro*a*pbtres+cucinco*pbcuatro

if pot == 5:
print " \n " ,cuno, '*' ,pacinco, "+" ,cdos, "*" ,pacuatro, "*" ,b, "+" ,ctres, "*" ,patres, "*" ,pbdos, "+" ,ccuatro, "*" ,pados, "*" ,pbtres, "+" ,ccinco, "*" ,a, "*" ,pbcuatro, "+" ,cseis, "*" ,pbcinco,
print " \n \n Solucion final:" ,cuno*pacinco+cdos*pacuatro*b+ctres*patres*pbdos+ccuatro*pados*pbtres+ccinco*a*pbcuatro+cseis*pbcinco
if pot == 6:
print " \n " ,seuno, "*" ,paseis, "+" ,sedos, "*" ,pacinco, "*" ,b, "+" ,setres, "*" ,pacuatro, "*" ,pbdos, "+" ,secuatro, "*" ,patres, "*" ,pbtres, "+" ,secinco, "*" ,pados, "*" ,pbcuatro, "+" ,seseis, "*" ,a, "*" ,pbcinco, "+" ,sesiete, "*" ,pbseis,
print " \n \n Solucion final:" ,seuno*paseis+sedos*pacinco*b+setres*pacuatro*pbdos+secuatro*patres*pbtres+secinco*pados*pbcuatro+seseis*a*pbcinco+sesiete*pbseis

if pot == 7:
print " \n " ,siuno, "*" ,pasiete, "+" ,sidos, "*" ,paseis, "*" ,b, "+" ,sitres, "*" ,pacinco, "*" ,pbdos, "+" ,sicuatro, "*" ,pacuatro, "*" ,pbtres, "+" ,sicinco, "*" ,patres, "*" ,pbcuatro, "+" ,siseis, "*" ,pados, "*" ,pbcinco, "+" ,sisiete, "*" ,a, "*" ,pbseis, "+" ,siocho, "*" ,pbsiete,
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

if pot == 8:
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
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

if pot == 9:
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,
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

# si hay incognitas se ejecuta esto otro
else:

if pot ==4:
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",
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"
if pot == 5:
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",
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",

if pot == 6:
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",
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",

if pot == 7:
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",
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",

if pot == 8:
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"
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"

if pot == 9:
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",
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"

raw_input()
#133

   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


    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


    Lo que has puesto es lo de factorial no ¿?

  Ej:

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


   
#136


    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
Scripting / Re: Duda de if sobre if [Python]
28 Diciembre 2009, 17:17 PM
Cita de: Novlucker en 28 Diciembre 2009, 17:07 PM
Solo un pequeño matiz a esto ...

Cita de: 08l00D en 28 Diciembre 2009, 15:12 PM

Citara = 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
Scripting / Re: Duda de if sobre if [Python]
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
Scripting / Re: Duda de if sobre if [Python]
28 Diciembre 2009, 04:32 AM
Cita de: alex19910218 en 28 Diciembre 2009, 04:06 AM
Cita de: CaronteGold 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 ".

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
a = int(input("Primer numero: "))
Por:
a = raw_input("Ingrese Su Nombre")

Por Ejemplo:
# 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
Scripting / Re: Duda de if sobre if [Python]
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 ".