Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: CaronteGold en 20 Noviembre 2009, 19:42 pm



Título: Duda imprimir variables Python
Publicado por: CaronteGold en 20 Noviembre 2009, 19:42 pm

 Buenas estoy intentando hacer un programa para calcular el binomio de newton, es decir que muestre el desarrollo completo, lo hice en Batch, pero solo me servía para números. Quiero hacerlo también para letras, y en python creo que se puede, pero estaba empezando y tuve un problema, al imprimir variables y texto a la vez da error.

Código
  1. print "Binomio de Newton"
  2.  
  3. a = raw_input("Primer número: ")
  4. b = raw_input("Segundo número: ")
  5. pot = raw_input("Potencia: ")
  6.  
  7. print "(" a "+" b "^"pot")"
  8. raw_input()

 quiero que salga, si "a" es 5 y "b" es 6 y potencia 5 :

 (5+6)^5

 Y he probado muchas cosas y no funciona, combinando comillas y etc...


 Saludos.

 


Título: Re: Duda imprimir variables Python
Publicado por: xtermsh en 20 Noviembre 2009, 19:45 pm
Prueba con:

Código
  1. print str((a + b) ^c)


Título: Re: Duda imprimir variables Python
Publicado por: Novlucker en 20 Noviembre 2009, 19:59 pm
Lo anterior no va a funcionar, porque suma los números, y convierte el resultado en texto :P

Código
  1. print("Binomio de Newton")
  2.  
  3. a = input("Primer número: ")
  4. b = input("Segundo número: ")
  5. pot = input("Potencia: ")
  6.  
  7. print("("+str(a)+"+"+str(b)+")"+"^"+str(pot))
  8. input()

No se que versión de python tengas, pero desde la última el raw_input no existe, y el print necesita paréntesis obligatorio

Saludos


Título: Re: Duda imprimir variables Python
Publicado por: xtermsh en 20 Noviembre 2009, 20:00 pm
Es cierto, me he olvidado, es necesario si mal no recuerdo importar math.pow, en linux utilizo 2.6 en windows la 3.1, y es cierto en la última es necesario el uso de paréntesis para print.


Título: Re: Duda imprimir variables Python
Publicado por: CaronteGold en 20 Noviembre 2009, 21:20 pm
Lo anterior no va a funcionar, porque suma los números, y convierte el resultado en texto :P

Código
  1. print("Binomio de Newton")
  2.  
  3. a = input("Primer número: ")
  4. b = input("Segundo número: ")
  5. pot = input("Potencia: ")
  6.  
  7. print("("+str(a)+"+"+str(b)+")"+"^"+str(pot))
  8. input()

No se que versión de python tengas, pero desde la última el raw_input no existe, y el print necesita paréntesis obligatorio

Saludos



 Tengo la 2.6 cual me recomiendas.


Título: Re: Duda imprimir variables Python
Publicado por: Novlucker en 21 Noviembre 2009, 00:11 am
Si tienes la 2.6 entonces prueba el script con los raw_input .. ¿O ya lo has probado y te ha funcionado?

Sobre que versión .. como todo, se supone que se intenta mejorar al sacar nuevas versiones, así que la última. Pero para la 2.6 hay más documentación no oficial y scripts de ejemplo, para la última no hay tanto teniendo en cuenta de que ya lleva algo así como un año , pero igual no hay que asustarse ya que el cambio no es tanto (sigue siendo python XD), solo algunas funciones, objetos y módulos, para los cuales se puede recurrir a la documentación oficial :P

Saludos


Título: Re: Duda imprimir variables Python
Publicado por: CaronteGold en 21 Noviembre 2009, 13:07 pm

 Buenas,


 Como puedo agregar un sleep para que pueda leer el programa y no lo ejecute tan rápido ¿?, es que he probado con raw_input() al final, pero no sirve.

 Y una cosa más, para ver los comandos y su sintaxis, puedo verlos desde el intérprete ¿?

 Saludos.

 EDIT: Según leí en un libro, no hace falta declarar la variable al hacerla, por ejemplo para los números si es entero complejo o real, pero he probado a poner una "x"  y da error.


Título: Re: Duda imprimir variables Python
Publicado por: Novlucker en 21 Noviembre 2009, 20:46 pm
Para agregar un sleep

Código
  1. import time
  2. time.sleep(5)
  3. print('test')

Citar
Y una cosa más, para ver los comandos y su sintaxis, puedo verlos desde el intérprete ¿?
Estas en win? tienes la ayuda en un html compilado dentro de la carpeta Doc, desde la cual puedes ingresar con F1 desde la GUI de Python

Citar
EDIT: Según leí en un libro, no hace falta declarar la variable al hacerla, por ejemplo para los números si es entero complejo o real, pero he probado a poner una "x" y da error.
No, en Python no hay que declarar los tipos, pero no he entendido lo de la "X"  :-X

Saludos



Título: Re: Duda imprimir variables Python
Publicado por: ^Tifa^ en 21 Noviembre 2009, 22:10 pm
Citar
Según leí en un libro, no hace falta declarar la variable al hacerla, por ejemplo para los números si es entero complejo o real, pero he probado a poner una "x"  y da error.

No, efectivamente no hace falta declarar que tipo de datos soporta una variable en este lenguaje, pero si hace falta saber que tipo de datos soportan como parametros ciertas funciones internas de ciertos modulos.

En python hay 2 funciones para recibir datos
* raw_input
* input

raw_input colecciona cualquier dato insertado por teclado por parte del usuario y lo convierte en caracteres. Sin embargo en el caso de input colecciona los datos insertados por teclado y los convierte a numeros, otra falla de input es que no solo convierte todo lo recibido a numero o lo trate como un numero sino que tambien asume lo insertado como codigo python he intentara ejecutarlo... por ende te recomendaria usar raw_input en lugar del debil input.

Si tu inconveniente es que no quieres que raw_input convierta numeros insertados por teclado en caracteres, no hay problema alguno filtra la entrada especificando que meramente debe recibir solo numeros asi:

Código
  1.  
  2. try:
  3.  
  4.  numero=int(raw_input("Inserta un numero  "))
  5.  
  6. except Exception:
  7.  
  8.  print "Debes insertar un Numero!!"
  9.  
  10. else:
  11.  
  12.  print ("Mi suma con 10 es ", numero+10)
  13.  
  14.  
  15.  


Título: Re: Duda imprimir variables Python
Publicado por: Novlucker en 21 Noviembre 2009, 22:22 pm
Concuerdo con todo :P

Solo que por si acaso, recuerdo que el raw_input no funciona en la versión 3 de python, pero bueno, CaronteGold esta usando la 2.6, y ahí si sirve

Código
  1. D:\Python31>python.exe "D:\elinput.py"
  2. Traceback (most recent call last):
  3. File "D:\elinput.py", line 1, in <module>
  4. Texto=raw_input("Inserta un numero ")
  5. NameError: name 'raw_input' is not defined

Saludos


Título: Re: Duda imprimir variables Python
Publicado por: ^Tifa^ en 21 Noviembre 2009, 23:03 pm
Yo tengo la 2.6.2 :)  deberia probar la 3 haber como va.


Título: Re: Duda imprimir variables Python
Publicado por: CaronteGold en 28 Noviembre 2009, 22:06 pm
  Tengo una duda, python puede operar con incógnitas ¿?, es decir por ejemplo calcular:

 
 x+3y+2x*3


  Es que igual lo hago mal, o no se puede :S.


  Saludos y gracias.


 Se me olvidaba, para poner en una variable que por ejemplo,  variable = a**5

 es decir que variable es a elevado a la quinta, da este error : TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'


Título: Re: Duda imprimir variables Python
Publicado por: Novlucker en 29 Noviembre 2009, 21:39 pm
Me temo que las incognitas debes de resolverlas tu ;D ... lo que ocurre es que estas confundiendo el cálculo de incognitas con los números complejos, los cuales en python se representan con un número seguido de j :P

:http://programacionpython.wordpress.com/2008/07/16/dia-13-numeros-complejos-en-python/

Saludos


Título: Re: Duda imprimir variables Python
Publicado por: CaronteGold en 29 Noviembre 2009, 21:56 pm

    Entonces, no hay manera de hacer cálculos con incógnitas ¿?....


  Eso me impide hacer lo que tenía en mente  :-(


  Saludos.


Título: Re: Duda imprimir variables Python
Publicado por: Novlucker en 29 Noviembre 2009, 21:58 pm
Te lo impide o te lo dificulta? ;)

Saludos


Título: Re: Duda imprimir variables Python
Publicado por: CaronteGold en 29 Noviembre 2009, 22:16 pm



    Impide, por que si el que vaya a usar el programa ( quiero hacer un calculador del binomio de newton, con incógnitas, ya que con números ya lo hice en batch ) si quiere calcular, (2x+3x)5

  Pues me lo impide,  ya que no puedo hacer cálculos con la letra.


  Saludos.


Título: Re: Duda imprimir variables Python
Publicado por: Novlucker en 29 Noviembre 2009, 22:30 pm
Dificulta, el problema es que esperas que hayan funciones que hagan todo por ti, si esas fórmulas se pueden resolver manualmente, que te impide automatizarlo? :D

Es ahí donde esta el mérito del programador ;)

Saludos