729G04 Programmering och diskret matematik. Python 3: Loopar

Relevanta dokument
729G74 IT och programmering, grundkurs. Tema 3. Föreläsning 2 Jody Foo,

729G74 IT och programmering, grundkurs. Tema 3. Föreläsning 1 Jody Foo,

729G04 Programmering och diskret matematik. Föreläsning 7

Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python

Erfarenheter från labben

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 3 Programmeringsteknik och C DD1316. Innehåll i listor. Uppdateringsoperatorer. +,* och listor. Listor. Indexering

TDDE44 Programmering, grundkurs

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Kurslitteraturen. C-nivå Villkorssatser [kap 8] if & elif & else and & or Loopar [kap 9] for

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

DD1314 Programmeringsteknik

Pythons standardbibliotek

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Övningsuppgifter kapitel 8

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Uppgifter teknik HT17 (uppdaterad v. 40)

Introduktion till programmering SMD180. Föreläsning 8: Listor

Språket Python - Del 1 Grundkurs i programmering med Python

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00

Inledande programmering med C# (1DV402) Summera med while"-satsen

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Föreläsning 2 Programmeringsteknik och C DD1316

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Datalogi för E Övning 3

Programmering i C, 7,5 hp

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

TDIU01 - Programmering i C++, grundkurs

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

MicroPython Ett textbaserad programmeringsspråk för Micro:bit

Fly me to the moon. Laboration om relationer, TDDC75 Diskreta strukturer. Mikael Asplund. 5 september 2017

MUDDYCARDS 729G04 PYTHON 1. Positivt. Negativt. JODY FOO Department of Computer and Information Science (IDA) Linköping University, Sweden

Användarhandledning Version 1.2

729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo,

Tentamen i Introduktion till programmering

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Tenta i Grundläggande programmering DD klockan

Föreläsning 4 Programmeringsteknik och Matlab DD1312. Logiska operatorer. Listor. Listor, tupler, strängar och forslingor

Övning 0. Python för den som kan MATLAB. Lättare att läsa färdig kod än att skriva själv Det krävs övning för att automatiskt få detaljerna rätt:

Namn Stil Dokumentation Objekt-orienterad programmering OBS OBS OBS OBS OBS OBS OBS OBS

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Imperativ och Funktionell Programmering i Python #TDDD73. Fredrik Heintz,

Sätt att skriva ut binärträd

Planering av ett större program, del 2 - for och listor. Linda Mannila

Variabler och konstanter

Läsöversikt. Föreläsningar 2-6. Genomförande av laborationer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

[] Arrayer = Indexerad variabel

729G04 Programmering och diskret matematik. Föreläsning 5

Teori: Variabler En variabel har fyra grundläggande egenskaper: Namn, Typ, Värde och Synlighet.

Hur man programmerar. TDDC66 Datorsystem och programmering Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

Grundläggande datalogi - Övning 1

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Skillnader mellan Python och Java

Övningsuppgift. En array baklänges. Steg 1. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

Klassdeklaration. Metoddeklaration. Parameteröverföring

729G04 Programmering och diskret matematik

Pseudoslumptal / slumptal. Pseudoslumptal... Slumptal exempel. Slumptal exempel

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

v. 43 Python HT17 En introduktion Oscar Bergqvist

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

PROGRAMMERING-Java Omtentamina

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

Objektorienterad programmering i Java

Grundläggande databehandling ht 2005

Exempel: Exempel: Exempel: Exempel: $djur=array("ko","katt","älg"); foreach ($djur as $d) { echo $d. " "; } Resultat. ko katt älg

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

729G04 Programmering och diskret matematik TEN kl 8-12

Objektorienterad programmering i Java I

729G74 - IT och programmering, grundkurs. Dugga.

Iteration while-satsen

729G04 Programmering och diskret matematik

Laboration: Whitebox- och blackboxtesting

TDP002 - Imperativ programmering

Använda Python Laboration 1 GruDat, DD1344

Tentamen ges för: Tentamensdatum: Tid:

TENTAMEN OOP

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Föreläsning 3. Iteration while-satsen

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Förkortning och förlängning av rationella uttryck (s. 27 Origo 3c)

729G04 PYTHON 5 JODY FOO. Department of Computer and Information Science (IDA) Linköping University, Sweden

Datalogi, grundkurs 1

Övningar i JavaScript del 4

Föreläsning 3 Programmeringsteknik och Matlab DD1315. Importering av moduler. randrange

725G61 - Laboration 2 Loopar och arrayer. Johan Falkenjack

Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D.

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

Transkript:

729G04 Programmering och diskret matematik Python 3: Loopar

Översikt Labbar Punktnotation och strängmetoder Loopar Labb 3

Labbar?

Punktnotation

Punktnotation Ni har stött på punktnotation tidigare - kapitel med numrerade underrubriker, t.ex. kap 7.3.4 Punktnotation i Python liknar detta Anrop till funktionen random() i modulen random: random.random() Anrop till metoder och variabler i objekt: list.insert()

Repetition: funktioner i moduler # vi importerar modulen random import random # vi använder funktionen random() i modulen random print(str(random.random()))

Metoder och variabler i objekt Objektorienterad notation Objekt (datastrukturer) ha metoder (funktionalitet, verb) och variabler (data, egenskaper) T.ex. kan man be ett sträng- objekt att returnera sig själv, fast som en sträng med endast gemener eller versaler.

Strängmetoder

Strängmetoder Strängmetoder jobbar på den sträng som de anropas ifrån. Anta att my_string är en variabel som är satt till en sträng Strängmetoder anropas då med my_string.metodnamn()

Exempel på strängmetoder str.isupper() returnerar True om hela strängen består av versaler, annars False. str.islower() returnerar True om hela strängen består av gemener, annars False. str.upper() returnerar strängen i versaler. str.lower() returnerar strängen i gemener. OBS! str.upper() och str.lower() inte ändrar värdet på str!

CODELA: Strängmetoder https://www.ida.liu.se/codela/as/729g04c/strangmetoder

Några tips innan vi går vidare

Tips! Operatorn += # sätt a till "Hej" a = "Hej" # sätt a till värdet av a konkatenerat med " på dig!" a = a + " på dig" # ovanst ende kan också åstadkommas med operatorn += a += " din gamle räv"

Tips: import # Import behövs bara en gång. Brukligt är att ha alla # importer högst upp i filen. import random def get_random_float(): return random.random() def get_random_int(max): return random.randint(0, max)

Syntax diskutera med er granne! a a() a[0] a(0) "a" [a] ["a"] (a)

Syntax a a() a[0] a(0) "a" [a] ["a"] (a) variabeln a anrop till funktionen a index 0 i listan a anrop till funktionen a med 0 som input strängen "a" listan med värdet i variabeln a som första element listan med strängen "a" som första element variabeln a

Loopar

Exempel på olika slags loopar gör P, N antal gånger för varje element i sekvensen S, gör P så länge som Q gäller, gör P så länge som Q inte gäller, gör P gör P till Q inträffar

Två loopar i programmering for: upprepa ett visst antal gånger, gå igenom en sekvens while: upprepa så länge som ett villkor är uppfyllt Båda går att använda för alla typer av loopar. Det kan vara mer eller mindre "naturligt"/lättare att läsa/mindre omständigt att välja en specifik loop.

Namn på begrepp ni stött på: block

Exempel på block # I Python är block och indenteringsnivå samma sak! if i_am == "happy": print("inside the if block") print("still inside the if block") print("outside the if block")

for-loopen i Python

for element in a_sequence: statement1 statement2 statement3...

Gå igenom en lista med for names = ["Adam", "Bethany", "Chris"] # gå igenom alla element i names. det aktuella elementet # refereras till via variabeln name i loopen. for name in names: # skriv ut det aktuella elementet i listan names print(name)

for-loopen i lego

Summera tal med for numbers = [2000, 39, 596] sum = 0 # summera alla element i listan numbers for number in numbers: sum = sum + number print(sum)

range() range() skapar en "virtuell lista med heltal" (en generator) som man kan använda som en vanlig lista med heltal. range(stop): lista med heltal från 0 och som är stop lång range(start, stop): lista med heltal från start till stop- 1 range(start, stop, step): lista med heltal från start till

range() >>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(4,6)) [4, 5] >>> list(range(10, 101, 10)) [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] >>> list(range(10, 0, - 1)) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

for med range() # Skriv ut siffrorna 0 till 9 (10 siffror) for i in range(10): print(str(i))

CODELA: for-loopen och range() https://www.ida.liu.se/codela/as/729g04c/forloop

while-loopen

while condition: statement1 statement2...

Gå igenom en lista med while names = ["Adam", "Bethany", "Chris"] # Räkna upp variabeln i tills den är lika stor som # längden på listan names. Innan varje ökning av # variabeln i, använd i som index till listan names. i = 0 while i < len(names): print(names[i]) i += 1

while-loop # Forsätt så länge vi inte skriver "sluta" while input("skriv något: ")!= "sluta": print("e du dum?")

while-loop # Fortsätt i all evighet tills vi avbryter loopen # innifrån med break. while True: answer = input("skriv n got:") if answer == "sluta": break print("vad '" + answer + "'? Du r dum.")

Upprepa något ett visst antal gånger med while # sätt variabeln counter till 0. Används för att hålla # räkningen på hur många iterationer som körts counter = 0 # loopa så länge som counter <= 10 while counter <= 10: print(counter) # för varje iteration/varv i loopen, lägg till # 2 till counter counter += 2

CODELA: while-loopen http://www.ida.liu.se/codela/as/729g04/03b

continue och break

Hoppa ur en loop for i in range(10): if i == 5: # för att avbryta en loop i förtid # används break break print(i)

Hoppa till nästa varv for i in range(10): if i == 5: # För att gå vidare till nästa varv i loopen # används continue continue print(i)

CODELA: break och continue http://www.ida.liu.se/codela/as/729g04/03c

Nästlade loopar

Fotografera alla sidor i alla böcker på denna hylla.

För varje student i detta rum, räkna antalet fingrar.

CODELA: nästlade loopar https://www.ida.liu.se/codela/as/729g04c/nestedfor

Man kan ha en loop i en loop Om man har en loop som ligger i en annan loop säger man att man har en nästlad loop. Man kan referera till dem som yttre och inre loopar.

Nästlade for-loopar # Skriv ut alla multiplikationstabeller från 1 till 10. # Observera att vi använder olika variabelnamn i den # yttre och inre loopen. for num1 in range(1,11): for num2 in range(1,11): print(num1 * num2)

Nästlade while-loopar # Skriv ut alla multiplikationstabeller fr n 1 till 10. # Observera att vi använder olika variabelnamn i den # yttre och inre loopen. i1 = 1 while i1 <= 10: i2 = 1 while i2 <= 10: print(i1 * i2) i2 += 1 i1 += 1

Lista med listor a = ["Anders", "Bertil", "Cilla"] b = "Dina", "Elise", "Foggy"] c = ["Gemma", "Harald", "Inga"] my_list = [a, b, c] # Man kan använda en nästlad loop för att gå igenom # innehållet i en nästlad lista! for inner_list in my_list: for element in inner_list: print(element)