Jump to content

[Explicacao]


miguelt1
 Share

Recommended Posts

Bem eu estou aprendendo python aqui mesmo neste forum com o material de estudo disponibilizado aqui e deparei me com uma duvida, nao compreendo um codigo, aqui esta ele:

def abrir(self,event):
b=wx.FileDialog(self,"Abrir ficheiro de dados...",style=wx.OPEN,wildcard="*.*")
if b.ShowModal() == wx.ID_OK:
self.filename=b.GetPath()
self.file=numpy.loadtxt(self.filename)
numero1="%.1f"%numpy.mean(self.file)
self.text3.SetLabel(numero1)
numero2="%.1f"%numpy.var(self.file)
self.text4.SetLabel(numero2)
numero3=repr(self.file.shape[0])
157
self.text5.SetLabel(numero3)
self.text3.SetForegroundColour('black')
self.text4.SetForegroundColour('black')
self.text5.SetForegroundColour('black')
b.Close()

Gostava que me explicassem o codigo, o resto eu compreendi mais ou menos.

Dou +1 a quem me explicar melhor 🙂

Link to comment
Share on other sites

miguelt1,

Mesmo sem estar por dentro da Wx e Numpy (as libs utilizadas nesse excerto de código que publicaste), consigo dizer-te uma coisa: é impossível alguém explicar-te correctamente um fragmento de Python quando o apresentas completamente sem indentação, uma vez que, como sabes, Python depende da indentação para a correcta interpretação do código que escreves.

Além disso, a tua dúvida foi muito inespecífica; que parte não percebeste?

Link to comment
Share on other sites

eu tenho duvidas no codigo que coloquei aqui ,eu estudei a partir deste ficheiro que esta aqui neste forum http://www.portugal-a-programar.pt/files/file/96-introducao-a-programacao-parte-ii-python/ nas ultimas paginas esta o codigo final(o codigo todo).Mas so tive duvidas neste bocado de codigo, eu sei que neste ficheiro esta a explicar ao pormenor mas não percebi muito bem por exemplo o que é GetPath e depois fiquei meio perdido no resto do codigo.

Alguem pode ajudar?

Edited by miguelt1
Link to comment
Share on other sites

miguelt1,

Relativamente à GetPath(), retirado do PDF que estás a ler:

A maneira de ir buscar a string do caminho do ficheiro que escolhemos no FileDialog é com o comando “GetPath()”

Relativamente ao resto do código, como não colocaste nenhuma dúvida por onde pudesse pegar-lhe, resolvi simplesmente comentá-lo:

def abrir(self, event):
   # Mostrar janela para escolher o ficheiro a abrir
   b = wx.FileDialog(self, "Abrir ficheiro de dados...", style=wx.OPEN, wildcard="*.*")

   # Se carregares no OK/Abrir dessa janela, então:
   if b.ShowModal() == wx.ID_OK:
       # filename irá conter o caminho do ficheiro (b.GetPath())
       self.filename = b.GetPath()

       # file irá conter a representação numpy do ficheiro carregado
       self.file = numpy.loadtxt(self.filename)

       # numero1 irá conter a média dos valores lidos (com 1 casa decimal)
       numero1 = "%.1f" % numpy.mean(self.file)
       # text3 irá mostrar texto contido em numero1
       self.text3.SetLabel(numero1)

       # numero2 irá conter a variância dos valores lidos (com 1 casa decimal)
       numero2 = "%.1f" % numpy.var(self.file)
       # text4 irá mostrar o texto contido em numero2
       self.text4.SetLabel(numero2)

       # numero3 irá conter a representação textual de file.shape[0] (o número de dados lidos, provavelmente)
       numero3 = repr(self.file.shape[0])
       # text5 irá mostrar o texto contido em numero3
       self.text5.SetLabel(numero3)

       # Definir cores das labels
       self.text3.SetForegroundColour('black')
       self.text4.SetForegroundColour('black')
       self.text5.SetForegroundColour('black')

       # Fechar o ficheiro aberto
       b.Close()
  • Vote 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.