introduktion till programmering - filhantering och grafiska gränssnitt

22
Introduktion till programmering Filhantering och grafiska gränssnitt

Upload: simon-johansson

Post on 24-Jun-2015

101 views

Category:

Education


1 download

DESCRIPTION

Slides from the course Introduction to Programming, lecture held at The Department of Computer and Systems Sciences at Stockholm University 2014

TRANSCRIPT

Page 1: Introduktion till programmering - filhantering och grafiska gränssnitt

Introduktion till programmering

Filhantering och grafiska gränssnitt

Page 2: Introduktion till programmering - filhantering och grafiska gränssnitt

Simon [email protected]

Page 3: Introduktion till programmering - filhantering och grafiska gränssnitt

Repetition

Felhantering: try/except

Booleska variabler: True & False

Utökad selektion: if/elif/else

Iteration: while & for

Datasamlingar: [], (), {}

Page 4: Introduktion till programmering - filhantering och grafiska gränssnitt

Repetition: for-loop & listor

def showContent(list):for item in list:

print item

def main():saker = ["Simon", 115, "Mango", False]showContent(saker)

main()

Simon

115

Mango

False

ex.1

Page 5: Introduktion till programmering - filhantering och grafiska gränssnitt

Repetition: while-loop & felhantering

while True: try: userInput = int(raw_input("Skriv ett heltal:")) break except ValueError: print "Måste vara ett heltal! Försök igen."

print userInput * 10

ex.2

Page 6: Introduktion till programmering - filhantering och grafiska gränssnitt

Repetition: index

lista = ["röd", "grön", "blå"] 3st element

På index 0 finns: röd

0 - röd

1 - grön

2 - blå

ex.3

print str(len(lista)) + "st element"

print "På index 0 finns: " + lista[0]

for i in range(0, len(lista)): print str(i) + " - " + lista[i]

Page 7: Introduktion till programmering - filhantering och grafiska gränssnitt

Persistens

Hur data överlever till nästa programkörning● Spara i en databas● Spara i en fil

Vi börjar med att titta på hur vi kan skriva ner data till en fil från ett Python-program

Page 8: Introduktion till programmering - filhantering och grafiska gränssnitt

Spara till fil

highScore = 1000

myFile = open('fil.txt', 'w')myFile.write(str(highScore))myFile.close()

ex.4

Page 9: Introduktion till programmering - filhantering och grafiska gränssnitt

Sökvägar

#Relativ sökvägmyFile = open('fil.txt', 'w')

#Absolut sökvägmyFile = open('C:/min_mapp/fil.txt', 'w')

Page 10: Introduktion till programmering - filhantering och grafiska gränssnitt

Spara till fil

highScore = [250, 375, 400, 480, 520]

myFile = open('fil.txt', 'w')

for item in highScore: myFile.write(str(item) + '\n')

myFile.close()

ex.5

Page 11: Introduktion till programmering - filhantering och grafiska gränssnitt

Spara till fil med felhantering

highScore = [1000, 1500, 2000, 2500, 3000]try: myFile = open('fil.txt', 'w') for item in highScore: myFile.write(str(item) + '\n') myFile.close()except IOError: print 'Error! Kunde inte skriva till fil'

ex.6

Page 12: Introduktion till programmering - filhantering och grafiska gränssnitt

Läsa från fil med felhantering

try: myFile = open('fil.txt', 'r') print myFile.read() myFile.close() except IOError: print "Error! Kunde inte läsa från fil"

ex.7

Page 13: Introduktion till programmering - filhantering och grafiska gränssnitt

Läsa från fil med felhantering & “with”

try: with open("fil.txt") as myFile: print myFile.read()

except IOError: print "Fel i filläsningen"

ex.8

Page 14: Introduktion till programmering - filhantering och grafiska gränssnitt

GUI-bibliotek

PyQtwxPythonTkinter - ingår i standardbiblioteket

Python har ett starkt community, många bra plugins att ta hjälp av.

Page 15: Introduktion till programmering - filhantering och grafiska gränssnitt

Tkinter-widgets

Label() - EtikettEntry() - InputrutaText() - TextrutaCheckbutton() - KryssrutaButton() - Knapp (går att koppla till en funktion)

effbot.org/tkinterbook

Page 16: Introduktion till programmering - filhantering och grafiska gränssnitt

GUI-programmering med Tkinter

from Tkinter import *

ex.9

window = Tk()

etikett = Label(window, text="Mitt första GUI!")

etikett.pack()

knapp = Button(window, text="Klicka här!",

bg="blue", fg="white", command=myFunction)

knapp.pack(fill=X)

window.mainloop()

Page 17: Introduktion till programmering - filhantering och grafiska gränssnitt

GUI-programmering med Tkinter ex.9

Page 18: Introduktion till programmering - filhantering och grafiska gränssnitt

Positionering av widgets

.pack() - Placerar widgets efter varandra

.grid(row=0, column=0) - Placering efter ett rutnät

OBS! Blanda aldrig grid och pack!effbot.org/zone/tkinter-geometry.htm

Page 19: Introduktion till programmering - filhantering och grafiska gränssnitt

Inmatningsruta

textVar = StringVar()

textVar.set("Skriv här!")

inmatning = Entry(window, textvariable=textVar)

inmatning.pack()

#I en annan del av koden

textVar.get()

ex.10

Page 20: Introduktion till programmering - filhantering och grafiska gränssnitt

Inmatningsruta ex.10

Page 21: Introduktion till programmering - filhantering och grafiska gränssnitt

Tips

● Experimentera med exemplen

● Prova en massa olika Tkinter-widgets

● Ställ en massa frågor på handledningen och i forumet på iLearn2

Page 22: Introduktion till programmering - filhantering och grafiska gränssnitt

Frågor?!