Python - Problematica con calculadora sencilla en Python

   
Vista:

Problematica con calculadora sencilla en Python

Publicado por Ele (3 intervenciones) el 14/07/2015 05:20:35
Buenas , soy nuevo en la programacion y desde hace no mucho, comence a programar en python la version 2.7, poniendo en practica el conocimiento (poco) que he aprendido hasta ahora, lleve a cabo la realizacion de mi 1er programa, una calculadora sencilla, sin embargo hay ciertas cosas que me gustaria agregar al codigo del programa que no he podido lograr del todo, actualmente este es el codigo del programa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
print "Calculos matematicos."
print
print "El siguiente programa tiene por finalidad, resolver operaciones matematicas"
print "planteadas por el usuario."
print
print "Entre estas operaciones, se encuentran las adiciones, las sustraciones"
print "los productos y las divisiones."
print "Para continuar con el uso del programa, escriba su nombre de usuario."
print
nombre = (raw_input("Usuario: "))
print
print nombre,"bienvenido, a continuacion debe elegir que operacion matematica"
print "desea realizar."
print
print "(1)Adicion, (2)Sustraccion, (3)Producto, (4)Division."
print
print "Introduzca el numero de la operacion a resolver."
operacion = int(input("Operacion matematica numero: "))
if operacion == int(1):
    print
    print "Introduzca las cifras a sumar:"
    a1 = float(input("1era cifra: "))
    a2 = float(input("2da cifra: "))
    print "El resultado es:", (float(a1)+float(a2))
if operacion == int(2):
    print
    print "Introduzca las cifras a restar:"
    b1 = float(input("1era cifra: "))
    b2 = float(input("2da cifra: "))
    print "El resultado es:", (float(b1)-float(b2))
if operacion == int(3):
    print
    print "Introduzca las cifras a multiplicar:"
    c1 = float(input("1era cifra: "))
    c2 = float(input("2da cifra: "))
    print "El resultado es:", (float(c1)*float(c2))
if operacion == int(4):
    print
    print "Introduzca las cifras a dividir:"
    d1 = float(input("1era cifra: "))
    d2 = float(input("2da cifra: "))
    print "El resultado es", (float(d1)/float(d2))
else:
    print "Ha introducido un numero invalido, por lo que ha causado el cierre"
    print "del programa, gracias por su uso."

Hasta ahora funciona bien, pero me gustaria, que al no colocarse un numero correcto , en vez de obligar el cierre del programa, este de la opcion de poder colocar otra vez, un numero valido y repetir el bloque de instrucciones de
1
operacion = int(input("Operacion matematica numero: "))
, sin embargo lo he intentado hacer con el ciclo while y se me complica demasiado, si pueden ayudarme u orientarme un poco, gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Problematica con calculadora sencilla en Python

Publicado por xve (1229 intervenciones) el 14/07/2015 16:12:01
Hola Ele, aquí te he dejado un simple ejemplo:
http://www.lawebdelprogramador.com/codigo/Python/3216-Bucle-hasta-que-se-introduzca-un-valor-entero.html

Aquí te he modificado un poco tu código...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
def solicitarNumero(texto):
	while True:
		try:
			a1 = float(input(texto))
			return a1
		except:
			print "Introduce un numero valido"
 
print "Calculos matematicos."
print
print "El siguiente programa tiene por finalidad, resolver operaciones matematicas"
print "planteadas por el usuario."
print
print "Entre estas operaciones, se encuentran las adiciones, las sustraciones"
print "los productos y las divisiones."
print "Para continuar con el uso del programa, escriba su nombre de usuario."
print
nombre = (raw_input("Usuario: "))
print
print nombre,"bienvenido, a continuacion debe elegir que operacion matematica"
print "desea realizar."
print
print "(1)Adicion, (2)Sustraccion, (3)Producto, (4)Division."
print
print "Introduzca el numero de la operacion a resolver."
operacion = int(input("Operacion matematica numero: "))
if operacion == int(1):
	print
	print "Introduzca las cifras a sumar:"
	a1 = solicitarNumero("1era cifra: ")
	a2 = solicitarNumero("2da cifra: ")
	print "El resultado es:", (float(a1)+float(a2))
if operacion == int(2):
	print
	print "Introduzca las cifras a restar:"
	b1 = solicitarNumero("1era cifra: ")
	b2 = solicitarNumero("2da cifra: ")
	print "El resultado es:", (float(b1)-float(b2))
if operacion == int(3):
	print
	print "Introduzca las cifras a multiplicar:"
	c1 = solicitarNumero("1era cifra: ")
	c2 = solicitarNumero("2da cifra: ")
	print "El resultado es:", (float(c1)*float(c2))
if operacion == int(4):
	print
	print "Introduzca las cifras a dividir:"
	d1 = solicitarNumero("1era cifra: ")
	d2 = solicitarNumero("2da cifra: ")
	print "El resultado es", (float(d1)/float(d2))
else:
	print "Ha introducido un numero invalido, por lo que ha causado el cierre"
	print "del programa, gracias por su uso."


Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problematica con calculadora sencilla en Python

Publicado por Ele (3 intervenciones) el 15/07/2015 02:34:47
Hola xve, gracias por responder y por tu ayuda , sin embargo, podrias explicarme un poco el codigo que has anexado al programa, ya lo he pobrado, pero no pude notar la funcion que este cumple en él.
Disculpa si la pregunta, es algo tonta, aun sigo como novato...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Problematica con calculadora sencilla en Python

Publicado por xve (1229 intervenciones) el 15/07/2015 08:51:05
Hola Ele, sinproblema...

Lo que he realizado es una función denominada solicitarNumero() que lo que hace es verificar que se introduzca un numero correctamente, que no se introduzcan letras o signos, mostrando un error si no se introduce correctamente.
Esta función devuelve el numero introducido por el usuario.

Luego en cada casilla donde tu solicitabas el numero, hago una llamada a dicha función, de esta manera, en cada solicitud de datos, hago la validación de que se introduzca un numero correcto.

Si no te queda claro coméntame, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problematica con calculadora sencilla en Python

Publicado por Ele (3 intervenciones) el 17/07/2015 18:23:39
Gracias xve ya lo note, pude notar el cambio en el codigo y como usarlo para posteriores casos , gracias por la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar