chipmann Skrevet 18. mai 2006 Del Skrevet 18. mai 2006 (endret) Etter man har skrevet inn programmeringskodene... Hvordan får man lage et design til programmet? Jeg har hørt at dette har noe med en compiler å gjøre Hva er egentlig det? Og, som sagt, hvordan lager jeg et design til programmet mitt? Og hvordan gjør jeg om programmet til en .exe fil når det er ferdig? Endret 19. mai 2006 av chipmann Lenke til kommentar
dayslepr Skrevet 18. mai 2006 Del Skrevet 18. mai 2006 antar at du snakker om GUI'er .. her: http://www.pygtk.org/ Lenke til kommentar
FraXinuS Skrevet 18. mai 2006 Del Skrevet 18. mai 2006 Jeg synes wxPython er best, ihvertfall hvis du bruker windows. Lenke til kommentar
Torbjørn Skrevet 18. mai 2006 Del Skrevet 18. mai 2006 Jeg har hatt god erfaring med PyQt, finnes for alle platformer. Lenke til kommentar
chipmann Skrevet 19. mai 2006 Forfatter Del Skrevet 19. mai 2006 (endret) Jeg sriver alle kodene inn i GUI-en... Men hva er pyQt og wxPhyton? Og hvordan lager jeg et design til programmet mitt? Og hva står GUI for? Endret 19. mai 2006 av chipmann Lenke til kommentar
dabear Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 (endret) Graphical User Interface, altså det du kaller "designet". pyQt og wxpython er forskjellige teknologier og APIer (metoder) å gjøre det på. Istedet for at jeg skal forklare mer, kan du la min venn på denne linken fortelle deg mer Endret 19. mai 2006 av dabear Lenke til kommentar
chipmann Skrevet 19. mai 2006 Forfatter Del Skrevet 19. mai 2006 (endret) Men hvordan kjører jeg programmet? Jeg laget dette, bare for å gjøre det enkelt: >>> # Calcutation of the area of a sircle >>> radius = input("What is the radius?") What is the radius? 10 >>> print "The area of the sircle is", radius*radius*3.14 The area of the sircle is 314.0 Hvordan kjører jeg det? Og er det noen som vet om noen gode guider på norsk? Endret 19. mai 2006 av chipmann Lenke til kommentar
Torbjørn Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 legg fila i en tekstfil og kjør python navn.på.filadi.py Lenke til kommentar
chipmann Skrevet 19. mai 2006 Forfatter Del Skrevet 19. mai 2006 Tusen takk for all hjelp alle sammen. Jeg fant ut av det Jeg kommer sikkert med flere spørsmål senere, men takk for at dere var tålmodige med meg Lenke til kommentar
FraXinuS Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 Hvis du vil lage gui til areal programmet så kan du gjøre det slik: Jeg er ikke så veldig god på gui enda, så det er ikke sikkert det er 100% riktig gjort, men det funker ihvertfall. Du må ha wxPython installert. import wx import math class Frame(wx.Frame): pass class App(wx.App): def OnInit(self): self.area = Frame(parent=None, title='Area', size=(150, 140)) self.SetTopWindow(self.area) self.panel = wx.Panel(self.area) self.text1 = wx.StaticText(self.panel, label="What is the radius?") self.text2 = wx.StaticText(self.panel, label="The area of the circle is:") self.answerbutton = wx.Button(self.panel, label='Regn Ut') self.answerbutton.Bind(wx.EVT_BUTTON, self.onArea) self.radiusinput = wx.TextCtrl(self.panel) self.content = wx.TextCtrl(self.panel) hbox = wx.BoxSizer() hbox.Add(self.radiusinput, proportion=1, flag=wx.EXPAND) hbox.Add(self.answerbutton, proportion=0, flag=wx.LEFT, border=5) vbox = wx.BoxSizer(wx.VERTICAL) vbox.Add(self.text1, proportion=0, flag=wx.LEFT | wx.TOP | wx.BOTTOM, border=5) vbox.Add(hbox, proportion=0, flag=wx.EXPAND | wx.ALL, border=5) vbox.Add(self.text2, proportion=0, flag=wx.LEFT | wx.TOP | wx.BOTTOM, border=5) vbox.Add(self.content, proportion=0, flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, border=5) self.panel.SetSizer(vbox) self.area.Show() return True def onArea(self, event): temp = self.radiusinput.GetValue() try: radius = float(temp) ans = radius*radius*math.pi self.content.SetValue(str(ans)) except ValueError: self.content.SetValue("Invalid Input") if __name__ == '__main__': app = App() app.MainLoop() Lenke til kommentar
chipmann Skrevet 19. mai 2006 Forfatter Del Skrevet 19. mai 2006 høh? skjønte ikke noe av det, men jeg skal prøve. ta en titt på denne areal-kalkulatoren jeg laget nå. den er litt lang, men jeg regner med at den funker. man kan regne areal av kvadrater, rektangler og sirkler den er ikke så veldig proff, men den holder til skolearbeidet tror jeg print "Welcome!" print "This is a program made for finding the area of different shapes." print "----------------------------------------------------------------" print print print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" shape = input ("Type in 1, 2 or 3 here: ") print print if shape == 1: print "You have chosen to find the area of a sircle" print radius = input ("Please type in the radius of the sircle here: ") print print "The area of the sircle is", radius*radius*3.14 print print print "Do you want to calculate a new area?" print print "1: Yes" print "2: No" print choice = input ("Type 1 or 2 here: ") print if choice == 1: print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" shape = input ("Type in 1, 2 or 3 here: ") if choice == 2: print "Good bye!" print print if shape == 1: print "You have chosen to find the area of a sircle" print radius = input ("Please type in the radius of the sircle here: ") print print "The area of the sircle is", radius*radius*3.14 print print print "Do you want to calculate a new area?" print print "1: Yes" print "2: No" print choice = input ("Type 1 or 2 here: ") print if choice == 1: print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" shape = input ("Type in 1, 2 or 3 here: ") if choice == 2: print "Good bye!" if shape == 2: print "You have chosen to find the area of a rectangle" print width = input ("Please type in the width here: ") height = input ("Please type in the height here: ") print print "The area of the rectangle is", width*height print print print "Do you want to calculate a new area?" print print "1: Yes" print "2: No" print choice = input ("Type in 1 or 2 here: ") print if choice == 1: print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" print shape = input ("Type in 1, 2 or 3 here: ") print if choice == 2: print "Good bye!" if shape == 3: print "You have chosen to find the area of a rectangle" print side = input ("Please type inn the lenght of one of the sides here: ") print print "The area of the square is", side*side print print print "Do you want to calculate a new area?" print print "1: Yes" print "2: No" print choice = input ("Type in 1 or 2 here: ") print if choice == 1: print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" print shape = input ("Type in 1, 2 or 3 here: ") print if choice == 2: print "Good bye!" print if shape == 2: print "You have chosen to find the area of a rectangle" print width = input ("Please type in the width here: ") height = input ("Please type in the height here: ") print print "The area of the rectangle is", width*height print print print "Do you want to calculate a new area?" print print "1: Yes" print "2: No" print choice = input ("Type in 1 or 2 here: ") print if choice == 1: print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" print shape = input ("Type in 1, 2 or 3 here: ") print print if shape == 1: print "You have chosen to find the area of a sircle" print radius = input ("Please type in the radius of the sircle here: ") print print "The area of the sircle is", radius*radius*3.14 print print print "Do you want to calculate a new area?" print print "1: Yes" print "2: No" print choice = input ("Type 1 or 2 here: ") print if choice == 1: print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" shape = input ("Type in 1, 2 or 3 here: ") if choice == 2: print "Good bye!" print print if shape == 2: print "You have chosen to find the area of a rectangle" print width = input ("Please type in the width here: ") height = input ("Please type in the height here: ") print print "The area of the rectangle is", width*height print print print "Do you want to calculate a new area?" print print "1: Yes" print "2: No" print choice = input ("Type in 1 or 2 here: ") print if choice == 1: print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" print shape = input ("Type in 1, 2 or 3 here: ") print if choice == 2: print "Good bye!" print print if shape == 3: print "You have chosen to find the area of a rectangle" print side = input ("Please type inn the lenght of one of the sides here: ") print print "The area of the square is", side*side print print print "Do you want to calculate a new area?" print print "1: Yes" print "2: No" print choice = input ("Type in 1 or 2 here: ") print if choice == 1: print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" print shape = input ("Type in 1, 2 or 3 here: ") print if choice == 2: print "Good bye!" if shape == 3: print "You have chosen to find the area of a rectangle" print side = input ("Please type inn the lenght of one of the sides here: ") print print "The area of the square is", side*side print print print "Do you want to calculate a new area?" print print "1: Yes" print "2: No" print choice = input ("Type in 1 or 2 here: ") print if choice == 1: print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" print shape = input ("Type in 1, 2 or 3 here: ") print if choice == 2: print "Good bye!" print print if shape == 1: print "You have chosen to find the area of a sircle" print radius = input ("Please type in the radius of the sircle here: ") print print "The area of the sircle is", radius*radius*3.14 print print print "Do you want to calculate a new area?" print print "1: Yes" print "2: No" print choice = input ("Type 1 or 2 here: ") print if choice == 1: print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" shape = input ("Type in 1, 2 or 3 here: ") if choice == 2: print "Good bye!" print print if shape == 2: print "You have chosen to find the area of a rectangle" print width = input ("Please type in the width here: ") height = input ("Please type in the height here: ") print print "The area of the rectangle is", width*height print print print "Do you want to calculate a new area?" print print "1: Yes" print "2: No" print choice = input ("Type in 1 or 2 here: ") print if choice == 1: print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" print shape = input ("Type in 1, 2 or 3 here: ") print if choice == 2: print "Good bye!" print print if shape == 3: print "You have chosen to find the area of a rectangle" print side = input ("Please type inn the lenght of one of the sides here: ") print print "The area of the square is", side*side print print print "Do you want to calculate a new area?" print print "1: Yes" print "2: No" print choice = input ("Type in 1 or 2 here: ") print if choice == 1: print "Please select a shape:" print "1: sircle" print "2: rectangle" print "3: square" print shape = input ("Type in 1, 2 or 3 here: ") print if choice == 2: print "Good bye!" Lenke til kommentar
chipmann Skrevet 19. mai 2006 Forfatter Del Skrevet 19. mai 2006 nå har det skjedd no galt. når jeg prøver å få opp GUI-en eller å kjøre et program får jeg en feilmelding om at en brannmur gjør at det er dårlig connection til phyton. Men alle brannmurene tillater alt fra phyton og jeg har til og med prøvd å skru dem av, men det virker ikke :( Lenke til kommentar
FraXinuS Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 Vet ikke hva som er feil med brannmuren, men du kan prøve å restarte. Men koden din over her ble veldig lang, hvis du ser på den så er det mye du har skrevet mange ganger. Det du kan prøve da er å putte de forskjellige tingene inn i funksjoner. Det er da slik at du skriver koden du skal bruke inn i en funksjon og så når du vil bruke det du har skrevet inne i funksjonen så trenger du bare skrive navnet på funksjonen og da kjøres koden du skrev i funksjonen. f.eks: def circle(): print "You have chosen to find the area of a sircle\n" radius = input("Please type in the radius of the sircle here: ") print "\nThe area of the sircle is: ", radius*radius*3.14 def square(): print "You have chosen to find the area of a square\n" side = input ("Please type inn the lenght of one of the sides here: ") print "\nThe area of the square is: ", side*side def rectangle(): print "You have chosen to find the area of a rectangle\n" width = input ("Please type in the width here: ") height = input ("Please type in the height here: ") print "\nThe area of the rectangle is: ", width*height print "Welcome!" print "This is a program made for finding the area of different shapes." print "----------------------------------------------------------------" while True: print "\nDo you want to calculate a new area?\n" print "1: Yes" print "2: No" choice = input ("\nType in 1 or 2 here: ") if choice == 1: while True: print "\n\nPlease select a shape:" print "1: sircle" print "2: rectangle" print "3: square\n" shape = input ("Type in 1, 2 or 3 here: ") print if shape == 1: circle() break elif shape == 2: square() break elif shape == 3: rectangle() break else: print "try again" elif choice == 2: print "\nGood bye!" break else: print "\ntry again" Her har jeg puttet utregingene for sirkel, rektangel og kvadrat inn i funksjoner. Så feks hvis jeg vil finne ut hva arealet av sirkelen er så skriver jeg bare circle() Da blir det jeg har skrevet under sirkel funksjonen gjort. Her har jeg også brukt while loops, det gjør da at koden går om og om igjen automatisk. For å avslutte loopen så bruker jeg break. Si fra hvis det er noe du ikke skjønner, så kan jeg prøve å forklare bedre. Lenke til kommentar
chipmann Skrevet 19. mai 2006 Forfatter Del Skrevet 19. mai 2006 supert. restartet maskinen før du svarte og det funket Men problemet mitt er at jeg ikke vet åssen jeg kan få noe til å gjenta seg i Phyton Slik at jeg kan skrive inn en kommando så kommer jeg tilbake til menyen der jeg velger om jeg skal finne areal av sirkel eller firkant. Jeg kan bare finne arealet av noe 1 gang så må jeg restarte programmet for å finne et nytt areal Lenke til kommentar
FraXinuS Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 Ja, det kan du bruke loops til. F.eks slik: while True: radius = input("\nPlease type in the radius of the sircle here: ") print "\nThe area of the sircle is: ", radius*radius*3.14 Prøv å lagre det over og start det, da vil den gå om og om igjen automatisk. Dette er en while loop. den går om og om igjen så lenge det som står etter while er True. feks: i = 0 while i < 5: print "hallo" i = i+1 her vil loopen gå om og om igjen så lenge i er midre enn 5. For hver runde i loopen så blir i lagt til 1. Til slutt så er i 5 og da avbrytes loopen. Siden loopen fortsetter så lenge den er True. 1 < 5 er True, loopen fortsetter 5 < 5 er False, loopen avsluttes Lenke til kommentar
chipmann Skrevet 19. mai 2006 Forfatter Del Skrevet 19. mai 2006 så... \n er en slik loop? Lenke til kommentar
FraXinuS Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 Nei, \n er ny linje. f eks print "ha\nll\no" blir : ha ll o Du kan prøve å fjerne \n i det jeg posta i forige post og se hva som skjer. Lenke til kommentar
chipmann Skrevet 20. mai 2006 Forfatter Del Skrevet 20. mai 2006 å, ja. så det eneste som er en loop er den while greia? Men har du lært programmering gjennom utdannelsen eller gjennom en guide eller tutorial? Hvis du har lært fra en guide vil jeg veldig gjerne se den Lenke til kommentar
chipmann Skrevet 20. mai 2006 Forfatter Del Skrevet 20. mai 2006 (endret) Jeg laget litt mer ut av den slik at den ble sånn: ikke noe feil! def circle(): print "You have chosen to find the area of a sircle\n" print radius = input("Please type in the radius of the sircle here: ") print "\nThe area of the sircle is: ", radius*radius*3.14 def rectangle(): print "You have chosen to find the area of a rectangle\n" print width = input ("Please type in the width here: ") height = input ("Please type in the height of the rectangle here: ") print "\nThe area of the rectangle is: ", width*height def square(): print "You have chosen to find the area of a square\n" print side = input ("Please type inn the lenght of one of the sides here: ") print "\nThe area of the square is: ", side*side def sylinder(): print "You have chosen to find the volum of a sylinder\n" print radius = input ("Please type in the radius of the sylinder here: ") height = input ("Please type in the height of the sylinder here: ") print "\nThe volum of the sylinder is: ", radius*radius*3.14*height def prism(): print "You have chosen to find the volum of a prism\n" print width = input ("Please type in the width of the prism here :") lenght = input ("Please type in the lenght of the prism here :") height = input ("Please type in the height of the prism here :") print "\nThe volum of the prism is: ", width*lenght*height def dice(): print "You have chosen to find the volum of a dice\n" print side = input ("Please type in the lenght of one of the sides here: ") print "\nThe volum of the dice is: ", side*side*side print "Welcome!" print print "This is a program made for calculation of area and volum." print "---------------------------------------------------------" while True: print "\nDo you want to calculate a new area?\n" print "1: Yes" print "2: No" choice = input ("\nType in 1 or 2 here: ") if choice == 1: while True: print "\n\nPlease select a shape:" print print "1: area of sircle" print "2: area of rectangle" print "3: area of square" print "4: volum of sylinder" print "5: volum of prism" print "6: volum of dice\n" shape = input ("Type in 1, 2, 3, 4, 5 or 6 here: ") print if shape == 1: circle() break elif shape == 2: rectangle() break elif shape == 3: square() break elif shape == 4: sylinder() break elif shape == 5: prism() break elif shape == 6: dice() break else: print "That is not a valid number. Please try again." elif choice == 2: print "\nGood bye!" break else: print "\nThat is not a valid number. Please try again." Nå gjenstår bare en ting: Å lage et design til programmet og deretter gjøre det om til en .exe fil. Jeg ønsker å gjøre programmet tilgjengelig uten å måtte ha IDLE. Hvordan gjør jeg det? Og det aller viktigste: Hvordan lager jeg et design til programmet mitt? Endret 20. mai 2006 av chipmann Lenke til kommentar
FraXinuS Skrevet 20. mai 2006 Del Skrevet 20. mai 2006 Det funka bra det der. Å lage design, vinduer og knapper og slikt, tror jeg kanskje er litt for vanskelig i starten. Du bør heller prøve å lage flere lignende programmer som det over først. Det er disse to guidene jeg har brukt mest: http://www.byteofpython.info/read/index.html http://www.ibiblio.org/obp/thinkCSpy/ For å lage en .exe av programmet så kan du bruke http://www.py2exe.org/ du finner installere nedert på sida. Når du har installert det, så lager du en mappe som du putter python fila di i. Og så må du lage en setup.py i samme mappe, den skal se omtrent slik ut: # setup.py from distutils.core import setup import py2exe setup( # The first three parameters are not required, if at least a # 'version' is given, then a versioninfo resource is built from # them and added to the executables. version = "1.0", description = "a program made for calculation of area and volum", name = "Area and Volum", # targets to build console = ["volumandareal.py"] # navnet på python fila di. ) Og så bruker du cmd og går til den mappen du har laget. Og så skriver du "python setup.py py2exe" Da blir det laget to nye mapper, build og dist, du finner programmet ditt i dist. Her står det hvilke av filene du trenger http://starship.python.net/crew/theller/moin.cgi/Py2Exe Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå