22
Introduktion till programmering Filhantering och grafiska gränssnitt

Introduktion till programmering - filhantering och grafiska gränssnitt

Embed Size (px)

DESCRIPTION

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

Citation preview

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?!