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
# -*- 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()