Vi lägger grunden för laboration 4 där vi fortsätter fördjupa oss i iteration och rekursion. Dessutom övar vi på lite mjukare, men minst lika viktiga, frågor om programmeringspraxis och namngivning.
Här visas ett urval av uppgifter som kan förekomma under seminariet. Syftet är att du ska få chansen att förbereda dig på några övningar eller gå tillbaka och repetera övningar i efterhand. Seminarieledarna kommer oftast att lägga in ytterligare uppgifter. Titta gärna på materialet för andra inriktningar om du vill ha fler övningar.
Följande kapitel i studiematerialet förbereder för det här seminariet:
Följande kapitel i studiematerialet finns med i planeringen för den här veckan, men tas upp först i nästa seminarium:
Ni ska skriva kod i par som på ett så tydligt sätt som möjligt itererar över alla kort i en kortlek. Korten är numrerade från 0 till 51. Använd kommentarer där detta verkar lämpligt.
Gör följande kod lättläst och lättförståelig!
def a(b):
c = b[0]
for i in range(len(b)):
c = b[i] if b[i] - c < 0 else c
return c
def a(b):
if b < 2: return False
else:
for d in range(2, int(b**(1/2))):
if not b % d: return False
return True
Skriv funktioner som med hjälp av pythons sträng-metoder manipulerar indata på valfritt sätt.
"Hello noob" => "h3ll0 n00b"
"Super sale" => "!!!SUPER SALE!!!"
"from_snake_case_to_camel_case" => "fromSnakeCaseToCamelCase"
"/dir/on/linux/to/windows/" => "C:\dir\on\linux\to\windows"
"Hola" => "¿Hola?"
"Jag är vilse" => "Jojagog äror vovilolsose"
"Best idea ever" => "Best. Idea. Ever"
" too\n much\n whitespace\n " => "too much whitespace"
- Skriv en funktion som går igenom en lista och dess underlistor och returnerar elementet med det största värdet. tips: gör en fallanalys
- I vilken ordning kommer element besökas i sekvensen [0, [7, [1, 27], 2], 3]?
- Vilken ändring behöver göras för att ändra ordningen elementen besöks?
Skriv en funktion flatten_dic
som givet en dictionary av dictionaries returnerar en ny dictionary där endast par på lägsta nivån finns med.
Tips: använd metoden update
för att kombinera två dictionaries
>>> data = {
"a": {
"a": {
"a": {
"yolo": 1,
"swag": 2
},
"b": {}
},
"b": {
"1337": 3
},
"c": {
"42": 4
}
}
}
>>> flatten(data)
{'yolo': 1, 'swag': 2, '1337': 3, '42': 4}
Sidansvarig: Peter Dalenius
Senast uppdaterad: 2025-09-09