Duda Calculadora (python)

Iniciado por Tuplado, 17 Enero 2012, 16:50 PM

0 Miembros y 1 Visitante están viendo este tema.

Tuplado

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----

criskapunk

Algo así?

Código (python) [Seleccionar]
e = input("Ingrese expresion: ")
print e


:huh:

fallout20xx

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

espero que te sea de ayuda, un saludo.
si disfrutas siempre que programas... significa que aun no has programado suficiente xD

criskapunk

#3
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 (python) [Seleccionar]
s = input("> ")
print s


Código (python) [Seleccionar]
c = raw_input("> ")
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.


fallout20xx

que grande xD no conocia esa cualidad del input, mira siempre se aprende algo en esto xD gracias
si disfrutas siempre que programas... significa que aun no has programado suficiente xD