[Python-es] Pythoniano y c niano

Daπid davidmenhur en gmail.com
Mie Dic 26 13:32:43 CET 2012


2012/12/26 kausdiv <kausdiv en gmail.com>:
> def main():
>     [...]
>
> main()


Esto sólo es útil si lo haces dentro de un

if __name__ == '__main__':
    main()

Esto significa que si el archivo se está ejecutando por sí mismo (no
llamado desde otro módulo), ejecuta main(). En realidad, esto es útil
para hacer pruebas.

Si no necesitas usar esto, simplemente escribe el código:

def isprime():
   blahblah

ok = 1
while ok...

Por otro lado, los valores booleanos son True y False, por lo que lo
más correcto sería:

ok = True
while ok:

o, si lo quieres más claro,

while ok == True:

pero es que, en este caso, te lo puedes ahorrar.

while True:

y donde pone ok = 0, lo cambias por un break para romper el ciclo. Lo
mismo se aplica a la función.

Para la entrada de valores, puedes simplificarla haciendo:

n1=int(raw_input("Valor inicial "))

El problema es que al usuario se le puede escapar algo que no debía al
meter los datos (el dedo morcilla mete una r donde debería ir un 5), y
el programa cascará porque no sabe convertir '3r7' a un entero. Si
quieres protegerte de eso, deberías usar un try - except (parecido al
catch de C).

También, la forma habitual del operador "es distitinto a" es !=, no <>.


Más información sobre la lista de distribución Python-es