programmering Flashcards

(54 cards)

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
Med comprehension, | hvordan gange alle verdier i en dict med to?
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
Summer dict verdier
sum(dict_.values())
27
Hvordan se om alle elementer i en liste passer en verdi?
list_ = ("x", "x", "x") ``` if all(x == "x" for x in list_): print("all values have the value x") ```
28
lage liste der alle objekter er like
list_ = ["x"] * 10
29
Hva er OOP?
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
Hva er en kkasse?
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
Hva er et objekt?
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
Hvordan brekke ut av en loop med å returne en funk
``` 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
Hvordan repetere en ehile løkke hvis en except går av
``` while True: try: .... break except (ValueError, IndexError): print("Sorry, thats not a valid value") ```
34
Man dkal bruke lambda, til å passere to verider, der man skal returnere den største verdien. Hvorfan gjør man det?
value = lambda a,b: a if a>b else b print(value(10, 5))
35
Lambda med dictionary dict_ [{"country": Norge", "place": Europa"}, {"Brasil": "Amerika"}] Lag en liste av alle stedene til landene
places = list(lambda x: x["place"], dict_)
36
Bruke lambda til p legge sammen verdier fra to lister, så ha de verdiene i en liste
list_values = map(lambda x, y: x+y, list1, list2)
37
List comprehension hvordan bruke map hvordan bruke filter/conditional hvordan bruke map og filter sammen hvordan ha flere conditionals
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
lag en funksjon som tar tre tall, og returnerer gjennomsnittet av de tre tallene gjør det samme med lambda
``` 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
Hvis du har en liste, og skal bli ferdig med funk bare når listen har et visst antall elementer, hvordan gjøres det?
Den beste måten er å bruke while-løkke list = [] ``` while len(list) != x: ... ```
40
Med list comprehension, hvordan legge sammen ting fra ulike lister
``` list1 = [] list2 = [] ``` list3 = [i+a for i in list1 for a in list2] item1+item2 for item1 in iterable1 for item2 in iterable2
41
liste av lister med list comp
[["x", "x", "x"] for i in range(1, 10)]
42
Hvordan få noe i entry hvordan slette nor i entry hvordan legge til noe i entry
.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
Hvordan få ting fra textbox i tkinter
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
``` tkinter naming conventions label text frame button entry ```
``` lbl txt frm btn ent ```
45
dict comp syntax med eks dict comp med conditional dict comp med flere conditionals dict comp med funksjon
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
``` Python operatirer gange dele minus pluss modulo dele med nedruning ```
``` * / - + % // ```
47
Hvordan printe de to siste elementene av en liste?
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
Hvordan endre en verdi i en liste, hvis verdien igså er i en annen liste?
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
hva er en liste?
En data-type som lagrer en kolleksjon av data
50
Hva er en dictionary
En dictionary er en liste med key-valje pairs. disse key-value parisene er to verdier som er assosiert. dict[key]
51
Hva er en funksjon
En blokk med kode som blir kjørt når funksjonen kalles pp. | funksjonen kan ta knn parsmetere, og returnere verdier
52
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
list1 = [B if i in list2 else i for i in list1]
53
brukbare innebyggde funksjoner for liste
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
Hva er **kwargs | hvordan fungerer det?
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()