programmering Flashcards

1
Q

Tkinter radiobutton

A

v = StringVar()

radiobutton1 = Radiobutton(root, text=1, variable=v, value=”one”)

radiobutton2 = Radiobutton(root, text=2, variable=v, value=”two”)

Benytte:
butt = button(root, command=lambda: funksjon(v.get())

def funksjon(value_radio)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Når burde du bruke combobox, menu og optionlist

tkinter menu

tkinter combobox

A

Menu:
Burde brukes nå man vil gjøre veldige spesifikke ting for hver verdi.

Combobox:
For når bruker skal gjøre nært det samme for hver verdi.
Men i tillegg kan man skrive for p få en verdi. Så man kan ha en dropdown, sp kan man skrive på i tillegg til det som er i dropdown boksen. Litt som en entry med dropdown

Optionlist:
nesten det samme som combobox.
For når man vil at verdiene skal gjøre nært det samme.
Men man kan ikke skrive. Så det har ikke entry funksjonaliteten som combobox har.

Menu:
frame = Frame(root)

menu = Menu(frame)

menu. add-command(label=”hallo”, command=hallo)
manu. add_commanf(label=”hade”, command=root.destroy)

def hallo():
      pass

root.config(menu=menu)

Combobox:
frame = Frame(root)

vlist = [“opt1”, “opt2”]

Combo = ttk.Combobox(frame, values=vlist)
Combo.set(vlist[0])
Combo.pack()

butt = Button(root, text=”Print values”, command=lambda:print_value(Combo.get())

butt.pack()

def print_value(value):
     print(value)

Option list:
option_list = [1, 2, 3]

value = IntVar(root)

value_inside = IntVar(root)
value_inside.set(“helllo”)

menu = OptionMenu(root, value_inside, *option_list)
menu.pack()

butt = Button(root, text=”submit”, command=lambda: print(value_inside.get())
butt.pack()

def print(value):
     print(value)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Listbox

A

frame = Frame(root)

vlist = [“Brod”, “brokoli”]

listbox = Listbox(root, selectmode=SINGLE) 
#selectmode kan også være multiple

for i in vlist:

 listbox. insert(END, i) listbox. pack()

butt = Button(root, text=”print”, command=print_v)
butt.pack()

def print_v():
     for i in listbox.curselection():
          print(i)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hvordan endre element i database?

A

Width open(“path”, “r” as fil:

Liste = json.load(fil)

Endre elementer med eks loop

With open(“path”, “w”) as fil:

Fil.write(json.dumps(liste))

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hvordan legge til i json?

A
With open("path", "r") as fil:
Liste = json.load(fil)
Liste.append(var)
With open("path", "w") as fil:
Json.dump(liste, fil)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hvordan slette fra database?

A
With open("path") as fil:
Liste = json.load(fil)

Finn element med eks loop

With open("path", "w") as fil:
Fil.write(json.dumps(iste))
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hvordan vise ting fra json?

A
With open("path", "r") as fil:
Liste = json.load(fil)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

*kwargs og *args

A

Disse brukes for å passere inn en uspesifisert mengde argumenter

kwargs er for dictionary

*args er bare for å passe inn

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Nyttige random

A

random. randrange(start, stop, step)
random. randint(start, stop)
random. shuffle(list_)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hvordan lage en liste?

A

list_ = list(range(start, stop, step)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Title og icon til GUI

A

root. iconbitmap(‘fil’)

root. title(“dette er en tittel”)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hvordan legge til bokstaver i entry, med knaooer?

A

e. get()
e. delete(0, END)
e. insert(0, [variabel])

current = e.get()

e. delete(0, END)
e. insert(0, [eksisterende_var] + current)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hvordan putte yt bilde

Hvordan resize bilde?

A

1.
Lage bilde
bilde = Image.open(‘fil’)
bilde = ImageTk.PhotoImage(bilde)

Putte bilde i det vi putter på skjermen
bilde_label = Label(image=bilde)
bilde_label.pack()

2.
Åpner bilde
p = Image.open(‘fil’)

Resizer
resize_p= p.resize((a, b) Image.ANTIALIAS)

Erklærer det resizede som en variabel
new_p = ImageTk.PhotoImage(resize_p)

Setter det i et label
my_lab = Label(window, image=new_p)

my_lab.pack()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

OOP i tkinter

A
class klasse
def \_\_init\_\_(self, root):
....
self.btn=button(roottext="X"command=self.f)
self.butt.pack()
def f(self):
print("hey")

program = klasse(window)

window.mainloop()

bemerk:
Man kan erklære tk = Tk() ved å passere det navnet man vil ha inn i klasse, for så å bruke det som om det var root.

objekter som bruker kommandoer de ikke er i, refererer med self.[def]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Hvordan åpne nytt vindu

A

root = Tk()

def open_wind():
     window = Tk()

butt = Button(root, command=open_win)
butt.pack()

root.mainloop

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Hvordan ha tabs

A

from tkinter import ttk

notebook = ttk.Notebook(root)
frame1 = Frame(notebook)
frame2 = Frame(notebook)

notebook.pack(pady=15)

frame1. pack(fill=”both”, expand=1)
frame2. pack(fill=”both”, expand=1)

notebook. add(frame1, text=”frame1”)
notebook. add(frame2, text=”frame2”)

Hvis man skal ha noe på tabbene, bruker man så frame navnene istedenfor eks root

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Hva gjør filter

Hvordan bruke filter med lambda

A

Den ser om noe i en liste er tilfelle, hvis så, filtres elementet.
Man kan for eksempel bruke dette til å legge til spesifikke ting fra en liste

list_ [“hokon”, “lars”, “hans”]

result = list(filter(lambda x: (x[0] == “h”), list_))
Dette lager en liste av ord fra listen list_, med navnene som starter på h

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Regnestykke med lambda der man kan passe ting inn

A

cube = lambda y: yyy

print(cube(5))

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Brukenlambda til å gange en liste

A

tables = [lambda x=x: x * 10 for x in range(1, 11)]

for table in tables:
print(table())

output:
10
30
30
..opp til 100

Grunnen til at det står x=x, og at table() ikke har fylt inn oarameter, er fordi hvis ikke får man tilbake en instanse av en lambda funksjon, og ikke produktet sv det

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Gange alle tall i en liste med lambda

A

numbs = list(map(lambda x: x*2, listen)

Man må bruke map, ellers får man bare instansen av lambda.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Hvordan gå til toppen av en while loop

A

Bruk “continue”.
Dette brukes på samme måte som feks:
“break”, “pass”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Hvorsan slice en liste

hvordan kopiere en liste

A

print(list(0:3))

min_mat = venns_mat[:]

23
Q

inheretance

A
class [child](patent)
         def \_\_init\_\_(self, arg1parent, arg2parent)
                     super.\_\_init\_\_(self, arg1p, arg2p)
                     self.childarg = childarg
24
Q

Legge sammen verdier i liste
Mineste verdi i liste
største verdi i liste

A

sum(liste)
min(liste)
max(liste)

25
Q

Med comprehension,

hvordan gange alle verdier i en dict med to?

A

Dict = {key: value for (key, value) in dict.items()}

Dict = {key * 2: value for (key, value) in dict.items()}
Dict = {key: value * 2 for (key, value) in dict.items()}
26
Q

Summer dict verdier

A

sum(dict_.values())

27
Q

Hvordan se om alle elementer i en liste passer en verdi?

A

list_ = (“x”, “x”, “x”)

if all(x == "x" for x in list_):
     print("all values have the value x")
28
Q

lage liste der alle objekter er like

A

list_ = [“x”] * 10

29
Q

Hva er OOP?

A

Objekt orientert programmering

Man lager klasser, ofte basert på ting fra den virkelige verden.

Fra disse klassene lager man så objekter.

MN har eks:
klasse: bil

metoder:
getfuel()
getspeed()

drive()
attributes:
fuel
speed

30
Q

Hva er en kkasse?

A

imiterer ofte ting xra den virkelige verden.

Det er som en slags oppskrift pp koden.

Generelt er den bygget opp av:
variabler - dette inkluderer lister og andre klasser
metoder-som er som en funksjon

starter med class
har en metodefor å initialisere klassen (\_\_init\_\_)
self refererer tilet objekt i seg selv
31
Q

Hva er et objekt?

A

En instans av en klasse

eks en klasse er en slag oopskrift.
Utifra den oppskriften, lages det klasser

eks:
Volvo = Car(“Svensk”, “88”, “rød”, 1998)

32
Q

Hvordan brekke ut av en loop med å returne en funk

A
while Ture:
funk..
funk..
if not funk som brekker: break
funk..
funk..
funk som brekker:
La oss si man skal brekke ut i fra en listeverdi
for i in...
      if .....
      break
      elif....
      break
else:
      return True
return False
33
Q

Hvordan repetere en ehile løkke hvis en except går av

A
while True:
      try:
            ....
            break
       except (ValueError, IndexError):
           print("Sorry, thats not a valid value")
34
Q

Man dkal bruke lambda, til å passere to verider, der man skal returnere den største verdien. Hvorfan gjør man det?

A

value = lambda a,b: a if a>b else b

print(value(10, 5))

35
Q

Lambda med dictionary

dict_ [{“country”: Norge”, “place”: Europa”}, {“Brasil”: “Amerika”}]

Lag en liste av alle stedene til landene

A

places = list(lambda x: x[“place”], dict_)

36
Q

Bruke lambda til p legge sammen verdier fra to lister, så ha de verdiene i en liste

A

list_values = map(lambda x, y: x+y, list1, list2)

37
Q

List comprehension

hvordan bruke map
hvordan bruke filter/conditional
hvordan bruke map og filter sammen
hvordan ha flere conditionals

A

map:
list = [expression for item in iterable]
eks: [i*2 for i in range(1, 11)]

filter/conditional
list = [expression for item initerable if conditional]
eks: [i for i in range(1, 101) if i % 2 == 0]

Bruke map og filter sammen
[i*2 for i in range(1, 11) if i % 2 == 0]
Hvis i er et partall ganges det med 2

flere conditionals
list = [expression (if/else) for item in iterable]
conditionals flyttes til etter expression
eks: [‘A’ if i % 2 == 0 else ‘B’ for i in range(1, 101)]
Hvis i er oddetall, vises A
Ellers vises B

38
Q

lag en funksjon som tar tre tall, og returnerer gjennomsnittet av de tre tallene

gjør det samme med lambda

A
def gjennomsnitt(tall1, tall2, tall3):
      return sum([tall, tall2, tall3]) / 3

ikke bruk list()
dette fucker opp funken, og som døregel andre ting også
noter også at inn i sum oppgis tallene som en liste

Man kan alternativt bruke lambda:
gjennomsnitt = lambda a, b, c: sum([a, b, c]) / 3

39
Q

Hvis du har en liste, og skal bli ferdig med funk bare når listen har et visst antall elementer, hvordan gjøres det?

A

Den beste måten er å bruke while-løkke

list = []

while len(list) != x:
    ...
40
Q

Med list comprehension, hvordan legge sammen ting fra ulike lister

A
list1 = []
list2 = []

list3 = [i+a for i in list1 for a in list2]

item1+item2 for item1 in iterable1 for item2 in iterable2

41
Q

liste av lister med list comp

A

[[“x”, “x”, “x”] for i in range(1, 10)]

42
Q

Hvordan få noe i entry
hvordan slette nor i entry
hvordan legge til noe i entry

A

.get()
.delete()
.insert()

Hvis man bruker (0, 4) eks får man alt fra og med de fem første karakterene

Kan kan her også bruke tk.END (0, tk.END)

43
Q

Hvordan få ting fra textbox i tkinter

A

hvis man bruker dette, kan man ikke bruke get() som normalt. man må passere et argument

man må si;
linjen det er snakk om
posisjonen til karakterwn på linjen

textbox.get(“1.0”) gir den først karakteren på linje 1
(“1.0”, “1.5”)
(“1,0”, tk.END) gir alt fra alle linjene

44
Q
tkinter naming conventions
label
text
frame
button
entry
A
lbl
txt
frm
btn
ent
45
Q

dict comp syntax med eks

dict comp med conditional

dict comp med flere conditionals

dict comp med funksjon

A

dict comp

dictionary = {key: expression for (key, value) in iterable}

eks:

funksjon for å regne om farenheit til celcius: (value-32)*(5/9)

cities_farenheit = {‘New York’: 32, ‘Boston’: 75}

cities_celcius = {key: ((value-32)*(5/9)) for (key, value) in cities_farenheit.items()}

dict comp med conditional:

dictionary = {key: expression for (key, valie) in iterable if conditional}

cities_celcius = {key: item for (key, value) in cities_farenheit.items() if item > 60}

if/else

dictionary = {key: (if/else) for (key, valie) in iterable if conditional}

cities_celcius = {key: “Warm” if item > 60 else “Cold” for (key, value) in cities_farenheit.items()}

dette blir:

{‘New York’: ‘Cold’, ‘Boston’: ‘Warm’}

Hvis man vil bruke veldig mange conditionals, er det lurt å bruke en funksjon i stedet, som har mange conditionals

cities_celcius = {key: check_temp(value) for (key, value) in cities_farenheit.items()}

46
Q
Python operatirer
gange
dele
minus
pluss
modulo
dele med nedruning
A
*
/
-
\+
%
//
47
Q

Hvordan printe de to siste elementene av en liste?

A

print(list[-3:-1])

Legg merke til at det ene tallet hopper over en verdi.
Noe som betyr at det er fra x til y, uten y

For de to første verdiene
print(list[0:2])

48
Q

Hvordan endre en verdi i en liste, hvis verdien igså er i en annen liste?

A

for i in list1
for a in enumerate(list2)
if i == a
list1[index] = “hey”

legg merke til st man bruker index
hvis man ikke bruker dette, funker det ikke

49
Q

hva er en liste?

A

En data-type som lagrer en kolleksjon av data

50
Q

Hva er en dictionary

A

En dictionary er en liste med key-valje pairs. disse key-value parisene er to verdier som er assosiert.

dict[key]

51
Q

Hva er en funksjon

A

En blokk med kode som blir kjørt når funksjonen kalles pp.

funksjonen kan ta knn parsmetere, og returnere verdier

52
Q

Hvis verdi i list1 er igså i list2, hvordan endre elementene i lis2 som også er i list1

eks:
list1 = [x, y, z]

list2 = [x, i, y]

Hvis en verdi fra list1, også er i list2, skal verdien i list1 endre, til la oss si til B

A

list1 = [B if i in list2 else i for i in list1]

53
Q

brukbare innebyggde funksjoner for liste

A

count(obj)
insert(index, obj)
pop(index) tar ut og kan brukes
list.reverse() reverserer liste
sort([func]) - eks sort(key=int) sorterer numerisk
sorted() kopierer en sortert versjon av liste

54
Q

Hva er **kwargs

hvordan fungerer det?

A

Fungerer som args, med med dictionary

def print_name(**kwargs):
     print(kwargs['first_name'] + kwargs['last_name])

pinrt_name(first_name=’Hans’, last_name=’Hansen’)

man kan også loope igjennom dicten
for key, value in kwargs.items()