Autor Tema: Dudas con escribir codigo  (Leído 8765 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Dudas con escribir codigo
« Respuesta #15 en: 08 de Agosto de 2016, 07:59:15 »
Python tiene una filosofía según la cual siempre debería haber una sola forma de hacer bien un programa.
El segundo ejemplo de Killerjc parece el más adecuado. Incluso se puede simplificar.
Código: Python
  1. if vocal in 'aeiou':
  2.       return True
  3.    return False

Un saludo.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Dudas con escribir codigo
« Respuesta #16 en: 08 de Agosto de 2016, 08:23:51 »
El Zen de Python en realidad dice:
"Debería haber una -y preferiblemente sólo una- manera obvia de hacerlo."

http://www.todopic.com.ar/foros/index.php?topic=46643.0

Saludos.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re:Dudas con escribir codigo
« Respuesta #17 en: 08 de Agosto de 2016, 14:19:06 »
Gracias Picuino por la aclaración, una pregunta para los maestros ¿Hay manera de hacer un debug al código y ver por ejemplo como va cambiando el valor de una variable sin tener que usar un IDE? Es que he intentado instalar eclipse con el plugin PyDev y no se por que motivo a la hora de crear un proyecto la opción de PyDev no aparece en el menú.

Saludos!
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Dudas con escribir codigo
« Respuesta #18 en: 08 de Agosto de 2016, 16:35:03 »
No sabría ayudarte con PyDev. Yo siempre hago el debug con sentencias print y el IDE más complicado que uso es el que viene con Python: IDLE.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re:Dudas con escribir codigo
« Respuesta #19 en: 08 de Agosto de 2016, 17:37:01 »
Gracias Picuino por tu aportación, de ser así voy a ver si consigo aprender a usar el Vim en Linux. Si alguien usa dicho editor agradecería una ayuda para configurarlo.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re:Dudas con escribir codigo
« Respuesta #20 en: 26 de Agosto de 2016, 13:04:24 »
Hola de nuevo compañeros sigo intentando aprender python, mi pregunta es referente a la instrucción
Código: Python
  1. sys.exit()
la cual creo entender que lo que hace es finalizar el script, pero algunas veces se usa como argumento dentro de los paréntesis un 1 otras veces -1 incluso algún string, quiere decir que puedo usar cualquiera de las tres. 

Gracias.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re:Dudas con escribir codigo
« Respuesta #21 en: 26 de Agosto de 2016, 16:07:00 »
sys.exit permite terminar la ejecución del script devolviendo un valor (en Unix/Linux esto se considera una muy buena práctica ya que permite encadenar comandos en función de si terminaron bien, retornando 0 o si tuvieron algún problema, un valor diferente a 0).


Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re:Dudas con escribir codigo
« Respuesta #22 en: 26 de Agosto de 2016, 19:11:27 »
Alguien puede decirme porque este sencillo código no me funciona.
Código: Python
  1. #!/usr/bin/env python3.5
  2. # -*- coding: iso-8859-15 -*-
  3.  
  4. import sys
  5.  
  6. def test():
  7.         print('Numero de argumentos:', len(sys.argv), 'argumentos')
  8.         print('Lista de argumentos:', str(sys.argv))
  9.        
  10.         return (sys.argv[1])
  11.  
  12.  
  13. if __name__ == '__main__':
  14.  
  15.         test()

En la terminal no se visualiza el
Código: Python
  1. return (sys.argv[1])

Gracias.

« Última modificación: 26 de Agosto de 2016, 19:38:15 por Miquel_S »
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Dudas con escribir codigo
« Respuesta #23 en: 26 de Agosto de 2016, 19:48:06 »
Código: Python
  1. if __name__ == '__main__':
  2.  
  3.         printf (test())

¿? o tal ves asignarlo a una variable y luego el print

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re:Dudas con escribir codigo
« Respuesta #24 en: 27 de Agosto de 2016, 03:58:05 »
Hola KILLERJC, así lo había probado y me funcionaba y creía que con return era lo mismo pero al parecer debo utilizar print.

Muchas Gracias.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Dudas con escribir codigo
« Respuesta #25 en: 27 de Agosto de 2016, 09:46:00 »
el return seria como para algo asi:

Código: Python
  1. variable = test()

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re:Dudas con escribir codigo
« Respuesta #26 en: 27 de Agosto de 2016, 13:16:31 »
De nuevo gracias, también había probado esta opción pero sigo necesitando
Código: Python
  1. print((variable))
creía poder ver el valor que retorna por ejemplo
Código: Python
  1. return (sys.argv[1])
sin usar print.

Saludos!
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Dudas con escribir codigo
« Respuesta #27 en: 27 de Agosto de 2016, 15:32:46 »
La instrucción return lo que hace es que la función devuelva un valor. Si quieres imprimirlo, necesitas la instrucción print. Si no escribes print, no imprime nada. Es evidente.

Quizá lo que te confunda es el modo de linea de comandos. Si en la linea de comandos escribes una variable o una función, Python imprime en la siguiente linea el valor que contiene esa variable o el valor devuelto por la función. Escribir en la linea de comandos viene muy bien para depurar programas de forma rápida. Pero si haces eso mismo en un script, no se imprime nada.

Un saludo.
« Última modificación: 27 de Agosto de 2016, 15:35:46 por Picuino »

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re:Dudas con escribir codigo
« Respuesta #28 en: 27 de Agosto de 2016, 16:26:39 »
Gracias Picuino por la nota, creía que fuera de la linea de comandos también debía de funcionar.

Saludos!
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re:Dudas con escribir codigo
« Respuesta #29 en: 31 de Agosto de 2016, 16:56:34 »
Hola, estoy mirando códigos para ir aprendiendo y veo que en algunos se usa la instrucción
Código: Python
  1. sys.stdout.flush()
y por lo que he leído en el help de sys sirve para limpiar el buffer de escritura, mi pregunta es ¿Cuando debe usarse dicha instrucción? ya que donde mas la veo es después de haber escrito en la consola con la instruccion
Código: Python
  1. sys.stdout.write()

Gracias.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.


 

anything