Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Python (https://www.clubdelphi.com/foros/forumdisplay.php?f=46)
-   -   Problema interprete python (https://www.clubdelphi.com/foros/showthread.php?t=75344)

gersojn 16-08-2011 03:10:28

Problema interprete python
 
Buenas, estoy iniciandome en python, y estoy haciendo una sencilla aplicacion que imprime en pantalla un mensaje cada 2 segundos, el problema es que cuando compila, no me muestra nada en absoluto, el codigo, que utilizo es el siguiente:

Código:


#!/usr/bin/env python

import time

while 2:
    time.sleep(2)
print"msj"

Trabajo en Mandriva2010 i586.

Que puede ser lo que esta mal, ya que me compila y no me da ningun error, el archivo, tiene permisos 777 ademas habia creado un .sh a partir del .py, pero de ninguna manera me muestra algo en terminal, simplemente se queda parpadeando.

De antemano, muchas gracias.

gersojn 16-08-2011 06:47:00

Hola
 
Hola, le cuento, que el problema anterior lo tenia en mandriva2010, y tras varios intentos, instale ubuntu 11 y hice la misma prueba, y no me funciono, investige por la red, y tras un update al sistema, me corrio perfectamente, mostrandome los msj.

Despues, hice exactamente el mismo procedimiento para mandriva(con diferencia en algunos comandos, aunque la funcion es la misma hacer el update) tras hacer el update, intente correr la aplicacion y el mismo problema, no me muestra nada.

De momento trabare con ubuntu en una maquina virtual, si alguien tiene una idea de como solucionarlo en Mandriva2010 le agradeceria mucho su ayuda..

De antemano, gracias.

Lepe 16-08-2011 08:57:46

el while solo está haciendo un sleep(2), tienes que darle un tabulador al "print" para que esté dentro del bucle y entonces si te saldrá.

Saludos

mamcx 16-08-2011 19:18:33

Recuerda, en python la tabulacion CUENTA.

A diferencia de otros lenguajes donde se permite mezclar muchos estilos de ordenar (y desordenar el codigo) en python la tabulacion reemplaza los BEGIN..END, los ; y demas marcadores.

Asi que:

Código Delphi [-]
IF True THEN BEGIN
Adentro();
END
Afuera();

Se escribiria en python

Código PHP:

if True:
   
Adentro()
Afuera() 

Ademas, es raro que pongas el While con 2. Si quieres que sea infinito, pon while True:

Deberias darte una repasada a que hace un codigo "pitonico". No hay nada mas confuso que programar un lenguaje como si fuera otro (con solo verlo, es claro que de python solo tienes la sintaxis).


La franja horaria es GMT +2. Ahora son las 09:43:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi