terça-feira, 30 de dezembro de 2014

Random e Interface

Imagine que você queira implementar a função random junto à uma interface, e que ao clicar de um botão pelo usuário seria apresentado seis valores para ele jogar na Sena.

Bom, apesar de simples a ideia é um bom treino.

Vamos utilizar o código para criar uma lista com seis valores aleatórios.

#code
import random

#criando a lista com seis valores
k=range(6)

#for para colocar seis numeros aleatorios na lista
for i in range(0,5):
    numero = random.randrange(1, 60);
    k[i] = numero

#apresentar a lista nova
print 'os seis valores: ', k
#code


E o código para desenhar uma janela na tela.


#codigo
from Tkinter import *

mGui = Tk()
mGui.geometry("450x450")
mGui.title("Exemplo")
myButton = Button(text='botao').pack()

mGui.mainloop()#somente necessario no Windows
#codigo


A proposta será juntar esses dois códigos.

Vamos começar. 

 Para que aconteça alguma coisa ao clicar do botão, deve-se acrescentar o código command:


myButton = Button(text='botao'  , command = gerar  ).pack()


O gerar será o nome da função que será chamada ao evento clicar sobre o botão.
 A função será essa:


#funcao gerar
def gerar():
    listasena=range(6) 
    for i in range(0,5):
        listasena[i]=random.randrange(1,60)
    
    mlbl = Label(text=listasena).pack()


Bom, ao clicar no botão será chamada a função gerar, que cria uma lista com seis valores, e os mesmos são trocados por valores aleatórios de 1-60. 
Após isso temos a a linha:


mlbl = Label(text=listasena).pack()

Que chama uma Label que seu texto será o conteúdo da lista.

 

Cada vez que o botão gerar é clicado aparecerá uma linha com código. Ainda tem que se arrumar algumas coisas no código. Depois continuamos.

Código completo:


#codigo

from Tkinter import *
import random

#funcao gerar
def gerar():
    listasena = range(6)
    for i in range(0,5):
        listasena[i]=random.randrange(1,60)
    mlbl = Label(text=listasena).pack()

#janela
mJanela = Tk()
mJanela.geometry("200x200")
mJanela.title("Sena")
#janela

#botao
mbtn2 = Button(text = 'Gerar', command = gerar).pack()
#botao

mJanela.mainloop()
#codigo



Nenhum comentário:

Postar um comentário