Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Yidu

#21
Scripting / Re: error programa python
19 Octubre 2017, 20:37 PM
Cita de: <Trocutor> en 19 Octubre 2017, 15:06 PM
Uso python 3 no python 2 xD

Yo diría que esta línea de tu código:

Código (python) [Seleccionar]
temperatura = input("introduzca la temperatura media de un mes")

Debería modificarse a:

Código (python) [Seleccionar]
temperatura = int(input("introduzca la temperatura media de un mes"))

Se supone que esperas introducir un valor entero y no una cadena.

#22
Cita de: tincopasan en 17 Octubre 2017, 23:21 PM
en tu pregunta está la respuesta, es muy subjetivo, algunos te dirán que el paradigma de objetos es lo mejor y otros que sobra, en lo personal, python trabaja todo como objetos  así que no veo porque no usarlos, tampoco hace falta la redundancia.

Muchas gracias por tu punto de vista. Por lo que visto en la gente que enseña tkinter, lo hacen sin la usar la POO. Yo también opino que es un poco redundante importar un módulo y luego envolverlo con clases propias. En todo caso, si no están del todo justificadas. Pero claro, como comentas, otros programadores darán otros argumentos también igual de válidos.

Un saludo!
#23
Scripting / ¿Recomendáis usar POO con tkinter?
16 Octubre 2017, 18:59 PM
Hola de nuevo!  :D

Ya sé que es muy subjetiva la pregunta. Y quizás dependerá del tamaño del script. Pero después de ver algunos tutoriales (vídeos, webs, blogs...), los creadores de los mismos enseñan tkinter sin usar la POO. Aunque también es verdad, que en python, siempre estamos trabajando con objetos. Incluso con tkinter para hacer una simple ventana ya estamos instanciando de la clase:

Código (python) [Seleccionar]
ventana = Tk()

Por eso tengo la duda si es redundante crear clases sobre clases. Y si por otro lado se enreda mucho el código.

Quizás, como algunos programadores, tengo algunas dudas de cuando usar clases (o la POO) y cuando no.

Cuando empiezo a crear un código es como si otro programador invisible me estuviera diciendo ¡Ostras, usa la POO! Pero en tkinter no la veo tan imprenscindible.

Bueno, un saludo!
#24
Este canal esta muy bien. Ahora van por la programación orientada a objetos. Y de momento muy bien explicada. Cosa que en otros cursos se hecha en falta. Y la verdad, no lo entiendo.

https://www.youtube.com/playlist?list=PLU8oAlHdN5BlvPxziopYZRd55pdqFwkeS
#25
Aparte de la posible solución que te ha dado el compañero, te recomiendo que leas sobre el modulo itertools. Sobre todo el apartado Generadores para combinatoria. Creo que la función product de ese modulo podría ser aplicable a tu script.

http://python-para-impacientes.blogspot.com.es/2015/08/bucles-eficientes-con-itertools.html
#26
Scripting / Re: Duda Estenografia en python3
15 Julio 2017, 19:08 PM
La función xrange ya no está en Python 3. No se si estará en algún modulo aparte. Creo que por ahí te puede venir el error. Prueba tu script en Python 2.xx por si las moscas. Saludos!
#27
Muchas gracias por el script  :D

Me imaginaba, que no era lógico, poner tantos IFs y líneas repetitivas. Vi unos ejemplos donde su autor explicaba, de alguna manera, el Checkbutton. Claro esta que en su ejemplo eran solo tres Checkbutton. Pero claro, si uno debe poner cien (por ejemplo), tarde o temprano se las tiene que ingeniar con un algoritmo como el tuyo. Le echado un vistazo por encima y creo que debe estar bien. Eso sin contar que luego recomiendan usar la OOP para usar tkinter.

Para familiarizarme con tkinter estaba creando un simple escrutador de loteria primitiva. Aquí una captura:



Al final, el tema de la ubicación de los Checkbutton lo he solucionado en el siguiente script. Seguramente tu método será mejor. Pero a mi me gusta (aunque sean mas lineas) que el código no quede tan compacto.  Lo digo en referencia del método place().

Código (python) [Seleccionar]
# Creacion de los Checkbutton
varsCheck =[]
coord_x, coord_y = 10, 60 # Coordenadas iniciales
for i in range(0, 49):
    varsCheck.append(IntVar())     
    Checkbutton(ventana, text = str(i + 1), variable = varsCheck[i], onvalue = 1, offvalue = 0).place(x = coord_x, y = coord_y)   
    coord_y += 30   
    if coord_y > 300:
        coord_y = 30
        coord_x += 50
#28
Hola de nuevo!  :D

Llevo un tiempo haciendo programas de Python en consola. Ahora me he decidido por usar una GUI. Y me he decantado por tkinter. He ido conociendo un poco los widgets y con el Checkbutton me han asaltado unas dudas:

En casi todos los ejemplos se crean unos pocos Checkbutton. Para cada uno de ellos se debe crear la variable de su estado y una función (normalmante llamada por command del widget Button). Pero claro, si queremos crear, por ejemplo, diez o veinte Checkbutton la cosa se desmadra y se crea un código redundante y repetitivo.

Ejemplo:

Código (python) [Seleccionar]
def imprime():
   global lista
   lista = []
   if _1.get() == 1:
       lista.append(1)
   if _2.get() == 1:
       lista.append(2)
   if _3.get() == 1:
       lista.append(3)
   if _4.get() == 1:
       lista.append(4)
   if _5.get() == 1:
       lista.append(5)
   if _6.get() == 1:
       lista.append(6)
   if _7.get() == 1:
       lista.append(7)
   if _8.get() == 1:
       lista.append(8)
   if _9.get() == 1:
       lista.append(9)
   if _10.get() == 1:
       lista.append(10)
_1 = IntVar()
_2 = IntVar()
_3 = IntVar()
_4 = IntVar()
_5 = IntVar()
_6 = IntVar()
_7 = IntVar()
_8 = IntVar()
_9 = IntVar()
_10 = IntVar()
chk1 = Checkbutton(ventana, text = '1', variable = _1, onvalue = 1, offvalue = 0).place(x = 10, y = 30)
chk2 = Checkbutton(ventana, text = '2', variable = _2, onvalue = 1, offvalue = 0).place(x = 10, y = 60)
chk3 = Checkbutton(ventana, text = '3', variable = _3, onvalue = 1, offvalue = 0).place(x = 10, y = 90)
chk4 = Checkbutton(ventana, text = '4', variable = _4, onvalue = 1, offvalue = 0).place(x = 10, y = 120)
chk5 = Checkbutton(ventana, text = '5', variable = _5, onvalue = 1, offvalue = 0).place(x = 10, y = 150)
chk6 = Checkbutton(ventana, text = '6', variable = _6, onvalue = 1, offvalue = 0).place(x = 10, y = 180)
chk7 = Checkbutton(ventana, text = '7', variable = _7, onvalue = 1, offvalue = 0).place(x = 10, y = 210)
chk8 = Checkbutton(ventana, text = '8', variable = _8, onvalue = 1, offvalue = 0).place(x = 10, y = 240)
chk9 = Checkbutton(ventana, text = '9', variable = _9, onvalue = 1, offvalue = 0).place(x = 10, y = 270)
chk10 = Checkbutton(ventana, text = '10', variable = _10, onvalue = 1, offvalue = 0).place(x = 60, y = 30)



Esto es un extracto del código. El que hace referencia a la duda que me surge. Es decir, se puede dar el caso que un programa tenga 100 casillas a seleccionar ¿Cómo se puede evitar este código tan repetitivo?

Saludos!
#29
Scripting / Re: [Python] No va tkinter en mac
15 Junio 2017, 19:34 PM
En python 3 tkinter se escribe en minuscula todo.

Código (python) [Seleccionar]
import tkinter

Y en python 2
Código (python) [Seleccionar]
import Tkinter
#30
Pues muchas gracias por todas las explicaciones. La verdad es que escogí Pygame para practicar un poco la POO. Aunque claro, también se puede practicar este paradigma con la consola o un editor.

Supongo que para iniciarse con una GUI recomendarías tkinter ¿No? Mas que nada por el ejemplo con el que abrí el post. 

De todas formas estudiare el código que has posteado. Que seguro me servirá para seguir aprendiendo. Un saludo!