Göm menyn

Seminarium 2 - En sak i taget

Kapitel som ska ha lästs

Denna sida visar en del av det som kommer att diskuteras på seminariet. Ofta tar handledarna också upp andra uppgifter som inte behöver något specifikt studentmaterial och då syns dessa uppgifter inte på sidan.

Uppgift: Listopperationer

Givet är en lista x med tio element där varje element är ett heltal med samma värde som index. Skriv kod som med hjälp av indexering och de grundläggande operationerna ger följande:

  1. 0
  2. 10
  3. -1
  4. 81

Skriv kod som med slice och sum() ger följande(sum beräknar summan av alla element i en lista):

  1. 10
  2. 12
  3. 24
  4. 25

Genom att konkatinera två slices av den givna listan, skapa listor:

  1. Vars element summeras till 20
  2. Som har 19 element
  3. Som innehåller alla primtal mellan 0 och 10
  4. Som har minst 6 element och är ett palindrom

Uppgift: Range

Lös uppgift 5-10 i föregående uppgift med hjälp av range(), sum() och list().

Uppgift: Tupler och dictionaries

Vilket värde har variablerna efter att följande kod körts?

a = len((1, (2, 3)))
b = 4, 5
c, d = 6, 7
e = {"pi":3.14}["pi"]
f = len({1:1, 2:2, 3:3})
g = {1:1, 1:2, 3:3} == {3:3, 1:2}
h = {}
h["indexes"] = tuple(range(5))

Uppgift: Muterbarhet

Fungerar följande kodsnuttar och i så fall, vad skriver de ut?

1.

def add_one(a):
    a += 1
    print(a)

x = 5
add_one(x)
print(x)

2.

def append_one(seq):
    seq.append(1)
x = []
append_one(x)
print(x)

3.

def add_to_all(tuple, val):
    for i in range(len(tuple)):
        tuple[i] += 1

x = (0,1,2)
add_to_all(x, 1)

4.

dict = {0: 0}
print(dict)

5.

dict = {(0,0): 0}
print(dict)

6.

dict = {([0],0): 0}
print(dict)

Sidansvarig: Peter Dalenius
Senast uppdaterad: 2023-09-20