Python - Necesito modificar mi programa "Determinación de cenizas"

 
Vista:

Necesito modificar mi programa "Determinación de cenizas"

Publicado por BC (5 intervenciones) el 11/06/2013 20:30:41
Saludos cordiales.

A mí me funciona la codificación cp850 en python 2.7 , en mí caso me muestra los tildes correctamente.
Particularmente en este programa existe un m1, m2, m3, me complica el uso del value.
Tengo claro que debería usar un while True, para que una vez que muestre el resultado pueda seguir ingresando datos. ¿Correcto?
El programa, siempre me mostrará un decimal después de la coma. (En eso no hay problema)
Le agregué un while, para no ingresar números negativos.
Me faltaría agregarle otra línea, para no ingresar letras.
Actualmente mi programa tiene algo de lógica, pero no tiene nada de productividad. (No tiene while True implementado.)
¿Qué me recomiendan para mejorar mi programa?
Si es posible agregar una explicación de cada línea del programa.
De todas maneras, aunque mi programa no esté compilado, y aunque faltan más líneas de código para mejorarlo, cualquier persona puede tomar mi código para usarlo para fines educativos. etc.
Lo que yo busco mejorar en mi programa: ¿Sería un python intermedio, o sólo es básico?
Desde ya muchas gracis por su tiempo.


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
# -*- coding: cp850 -*-
# Mi primer programa decente. Por Bc
print "Programa determinación de cenizas(Método cenizas totales)"
print "Escrito en Python por Benjamín C."
print "2013"
print
m1=float(raw_input("Ingrese masa ceniza con crisol:"))
while m1<=0:
    print "Ingrese número mayor que cero"
    m1=float(raw_input("Ingrese nuevamente masa ceniza con crisol:"))
 
m2=float(raw_input("Ingrese masa crisol:"))
while m2<=0:
    print "Ingrese número mayor que cero"
    m2=float(raw_input("Ingrese nuevamente masa crisol:"))
 
m3=float(raw_input("Ingrese masa muestra:"))
while m3<=0:
    print "Ingrese número mayor que cero"
    m3=float(raw_input("Ingrese nuevamente masa muestra:"))
 
pc=((m1-m2)/m3)*100
print "El porcentaje de cenizas es: ","{:.1f}".format(pc)," "
 
 
from time import sleep
sleep(120)
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
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Necesito modificar mi programa "Determinación de cenizas"

Publicado por xve (1646 intervenciones) el 12/06/2013 07:27:19
Hola BC, una recomendación que yo te haría, es que no repitieras código... por ejemplo, en vez de hacer esto:
1
2
3
4
m1=float(raw_input("Ingrese masa ceniza con crisol:"))
while m1<=0:
    print "Ingrese número mayor que cero"
    m1=float(raw_input("Ingrese nuevamente masa ceniza con crisol:"))


podrías hacer:
1
2
3
4
5
6
7
8
9
m1=0
while m1<=0:
    try:
        m1=float(raw_input("Ingrese nuevamente masa ceniza con crisol:"))
    except:
        print "Tiene que ser un valor numérico"
    else:
        if m1<=0:
            print "Ingrese número mayor que cero"

De esta manera no repites ninguna linea de código, y controlas ademas que el valor sea numérico.

Espero que te sirva.
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