Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Tuplado en 17 Enero 2012, 16:50 pm



Título: Duda Calculadora (python)
Publicado por: Tuplado en 17 Enero 2012, 16:50 pm
Hola amigos/as:

mi duda es como hacer una calculadora con la libreria de matematicas


yo tg esto
-------------------------------------

import math

valor = input("introduce:")

if valor == math:
    print (valor)
-------------------------------------

OSEA QUERRIA QUE ME SALIERA ESTO

pongo 2+3*4

resultado me daria 14
pero no me sale el valor

No se q tendre mal ---UN SALUDO Y GRACIAS DE ANTEMANO----


Título: Re: Duda Calculadora (python)
Publicado por: criskapunk en 19 Enero 2012, 09:20 am
Algo así?

Código
  1. e = input("Ingrese expresion: ")
  2. print e

 :huh:


Título: Re: Duda Calculadora (python)
Publicado por: fallout20xx en 19 Enero 2012, 11:07 am
si quieres introducir algo que no sean numeros tienes que usar raw_input("escribe algo:") no input.
lo que pasa es que le estas metiendo signos especiales y python entiende que e es un string 'texto', y input no puede recibir texto, solo raw_input puede, ese es el primer error, despues no estas haciendo nada con math, math es una libreria con seno coseno etc, lo que quieres tu es que te haga una ecuacion... y math lo hace, pero solo si le das las operaciones mascaditas, mira este post:
http://foro.elhacker.net/scripting/codigo_ecuaciones_de_2deg_grado_python-t300656.0.html;msg1490748 (http://foro.elhacker.net/scripting/codigo_ecuaciones_de_2deg_grado_python-t300656.0.html;msg1490748)

espero que te sea de ayuda, un saludo.


Título: Re: Duda Calculadora (python)
Publicado por: criskapunk en 20 Enero 2012, 00:30 am
Buenas,

@fallout20xx
input() puede recibir otra cosa que no sean números. Es más, con el anterior código que puse, la expresión 2+3*4, devuelve el valor correcto (16 en este caso).

La diferencia que hay entre input y raw_input (Que alguien me corrija si estoy diciendo cualquier cosa), es que la primera evalúa la expresión que se pasa como argumento, y la segunda, convierte cualquier cosa ingresada en una string.

Te doy un ejemplo, mira los siguientes códigos:

Código
  1. s = input("> ")
  2. print s

Código
  1. c = raw_input("> ")
  2. print c

Suponiendo que la expresión que le pasas como argumento a ambos códigos sea 5*10-10, en el primer caso devolverá el valor 40 (Y su tipo es int), mientras que en el segundo devolverá "5*10-10" con tipo string.

Se ve la diferencia?

Un saludo.



Título: Re: Duda Calculadora (python)
Publicado por: fallout20xx en 20 Enero 2012, 13:15 pm
que grande xD no conocia esa cualidad del input, mira siempre se aprende algo en esto xD gracias