Python - repetir codigo en python/borrar resultados anteriores

   
Vista:

repetir codigo en python/borrar resultados anteriores

Publicado por BC (5 intervenciones) el 03/06/2013 20:26:50
Saludos

Este es el código de mi programa en python:
--------------------------------------------------------------
C=float(raw_input("Ingrese temperatura en grados Celsius:"))

F=(1.8*C)+32
K=C+273.15
R=(C+273.15)*1.8

print "La temperatura en grados Fahrenheit es:",F,""
print "La temperatura en grados Kelvin es:",K,""
print "La temperatura en grados Rankine es:",R,""


from time import sleep
sleep(7)


-------------------------------------------------------------

Mis preguntas son:

1. Cuando el programa muestra el resultado, finalizará automaticamente en 7 segundos ¿Cómo hacerlo para que el programa finalize si el usuario presiona enter?
2. Supongamos que tengo 40 temperaturas por ingresar, mi programa actual no es productivo, ya que para ingresar otra temperatura debo abrir nuevamente el programa y así sucesivamente. Busco que mi programa sea productivo, es decir cuando muestre el resultado diga en pantalla: "para borrar el resultado anterior, presione escape" para continuar presione enter. Que funcione como un bucle infinito. ¿Se entiende?
3. Códigos para cambiar color de letra y fondo en programa en python.


Desde ya muchas gracias por su tiempo.
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

repetir codigo en python/borrar resultados anteriores

Publicado por xve (1232 intervenciones) el 03/06/2013 23:17:40
Hola BC, yo haría algo así:

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
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
while True:
    try:
        value=raw_input("Ingrese temperatura en grados Celsius:")
    except KeyboardInterrupt:
        # CTRL+C
        break
 
    # su pulsa por ejemplo X, finalizara el programa
    if value=="X":
        break
 
    # controlamos que no ponga letras
    try:
        C=float(value)
    except ValueError:
        print "Tiene que ser un valor numerico"
        continue
 
    F=(1.8*C)+32
    K=C+273.15
    R=(C+273.15)*1.8
 
    print "La temperatura en grados Fahrenheit es:",F,""
    print "La temperatura en grados Kelvin es:",K,""
    print "La temperatura en grados Rankine es:",R,""
    print ""

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

repetir codigo en python/borrar resultados anteriores

Publicado por BC (5 intervenciones) el 04/06/2013 18:40:57
Estoy muy agradecido. Lo he probado y funciona a la perfección. Le hice una muy pequeña modificación:

# su pulsa por ejemplo X, finalizara el programa
if value=="X" or "x":
break

# agregé un or.

Me quedá claro que el programa finaliza presionando "X" o "x" o presionando control + c. También probé cambiando la tecla por "Enter". Funciona bien!
Tambien el no ingreso de letras, tampoco sabia hacerlo. Me había olvidado de hacer esa pregunta.

¿Existe algún comando en python para borrar pantalla (Resultados anteriores)?
¿O habrá que usar un comando del sistema?
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

repetir codigo en python/borrar resultados anteriores

Publicado por dangoogle dantesan01@gmail.com (1 intervención) el 05/03/2016 23:20:46
Yo te respondo la pregunta 2 y 3. En ambas se usan comandos del sistema:

2)para borrar la pantalla:

import os
print("ejemplo 1")
os.system("cls")
print("ejemplo 2")
os.system("cls")

3) Si usas una consola sin interfaz gráfica:

import os
print("cambio de color")
os.system("color 01")
print("cambio terminado")

para mas información sobre el comando abre el cmd y escribe color /? y te mostrará información sobre el comando color.
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