Professional Documents
Culture Documents
DD1321 - Föreläsning 3
DD1321 - Föreläsning 3
Labbar:
Digitalt i zoom
och i sal: Magenta
Använd kön för hjälp.
https://queue.csc.kth.se/Queue/Tilpro (öppnar en kvart innan labben).
Vi ska börja listor för redovisning (boka en tid ev. utanför labbtid.) Glöm inte legitimation!
Läs igenom Hederskodex:https://www.kth.se/eecs/utbildning/hederskodex/inledning-1.17237
2
Vad vi har behandlat:
Vad vi har gjort:
– Utskrift, utskrift till terminal
– styrstrukturer - villkor, loppar
– grundläggande datatyper och operationer
– funktioner
– listor (börjat)
– inläsning från en textfil (tittat på)
3
Dagens agenda
– repetition funktioner
– funktionen range
Datastrukturer:
– repetition lista
– dictionary
– sträng
– tupler
4
inbyggda funktioner, exempel
Funktion Indata Utdata
http://docs.python.org/3/library/functions.html
range
primtal = [2,3,5,7,11,13,17,19]
dagar = ["tisdag","onsdag","fredag"]
minLista = []
listor - index
• Exempel:
vikt = [5.2, 5.7, 5.1, 4.8, 5.2]
def skapaLista...
def ordgissning...
def main():
fruktlista = skapaLista()
ordet = random.choice(fruktlista)
ordgissning(ordet)
main()
Från dokumentationen:
random.choice(seq)
https://docs.python.org/3/tutorial/datastructures.html#
li är här en lista. li.insert(3,”ros”) ändrar på listan li genom att lägga till “”ros” på platsen med index 3.
Flerdimensionella listor
def main():
veckodag = ["måndag","tisdag","onsdag","torsdag","fredag","lördag","söndag"]
månad = "november"
startdag = 7
kalender(startdag, veckodag, månad)
main()
utskrift
måndag 7 november
tisdag 8 november
onsdag 9 november
torsdag 10 november
fredag 11 november
lördag 12 november
söndag 13 november
måndag 14 november
tisdag 15 november
onsdag 16 november
torsdag 17 november
fredag 18 november
lördag 19 november
söndag 20 november
import random
def skapaLista...
def ordgissning...
def main():
fruktlista = skapaLista()
ordet = random.choice(fruktlista)
ordgissning(ordet)
main()
Från dokumentationen:
random.choice(seq)
def main():
veckodag = ["måndag","tisdag","onsdag","torsdag","fredag","lördag","söndag"]
månad = "november"
startdag = 7
kalender(startdag, veckodag, månad)
main()
utskrift
måndag 7 november
tisdag 8 november
onsdag 9 november
torsdag 10 november
fredag 11 november
lördag 12 november
söndag 13 november
måndag 14 november
tisdag 15 november
onsdag 16 november
torsdag 17 november
fredag 18 november
lördag 19 november
söndag 20 november
dictionary - exempel
dagantal = {"januari":31,"februari":28,"mars":31}
print(dagantal["mars"])
kalenderprogrammet version 2
#Nu med en dictionary för antal dagar per månad
def kalender(startdag, veckodag, månad):
"""Skriver ut en kalender med veckodag, dag och månad"""
dagantal = {"januari":31,"februari":28,"mars":31,"april":30,"maj":31,"juni":30,"juli":31,\
"augusti":31,"september":30,"oktober":31,"november":30,"december":31}
slut = dagantal[månad] + 1
index = 0
for dag in range(startdag,slut):
print(veckodag[index], dag, månad)
index = (index + 1) % 7
def main():
veckodag = ["måndag","tisdag","onsdag","torsdag","fredag","lördag","söndag"]
månad = "oktober"
startdag = 11
kalender(startdag, veckodag, månad)
main()
dictionary
Metod Beskrivning
d.keys() Ger alla nycklar
d.values() Ger alla värden
d.items() Ger nyckel & värde
d.pop(n) Plockar ut det värde som har
nyckel n
if n in d: Finns nyckeln n i d?
https://docs.python.org/3/library/stdtypes.html#dict
for-slingan - dictionary
for bokstav in s:
print(bokstav, end=” “)
print(“\n”)
s = ”aktie” A. akt
print(s[3:])
B. ie
C. t
D. tie
strängmetoder
Metod Beskrivning
s.upper() returnerar s med versaler
s.lower() returnerar s med gemena
s.isalpha() returnerar True om bara bokstäver
s.strip() returnerar strängen utan " abc "
s.split() returnerar en lista med varje ord
strängmetoden split()
mening = "Det var en gång"
mening2= " Så bra ! "
orden = mening.split()
nyMening=mening2.strip()
41