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

Relevanta dokument
Ordlistor, filhantering och ut på webben. Linda Mannila

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

Funktioner. Linda Mannila

Övningsuppgifter kapitel 8

Sekvensdatatyper, ASCII och chiffer. Linda Mannila

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

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

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

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

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

Grundläggande datalogi - Övning 1

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

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

Tentamen i Introduktion till programmering

Föreläsning 5 Mer om funktioner, villkor

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

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

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

Uppgifter teknik HT17 (uppdaterad v. 40)

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

729G04 Programmering och diskret matematik. Python 3: Loopar

729G04 Programmering och diskret matematik

Installera Anaconda Python

725G61 - Laboration 2 Loopar och arrayer. Johan Falkenjack

Planering av ett större program - Funktioner, moduler, if och Boolean. Linda Mannila

Föreläsning 2 Programmeringsteknik och C DD1316

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Planering Programmering grundkurs HI1024 HT TIDAA

Översikt. Varför lära sig detta? Motivering Syntax och semantik Imperativa språkets byggstenar och Python. PL-boken Kap 1 (repetition):

Iteration while-satsen

Introduktion till programmering och Python Grundkurs i programmering med Python

Använda Python Laboration 1 GruDat, DD1344

Programmeringsteknik I

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

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Planering Programmering grundkurs HI1024 HT data

Klassdeklaration. Metoddeklaration. Parameteröverföring

Algoritmer och interaktiv Python

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

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

Vi programmerar Java!

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

Föreläsning 4 Programmeringsteknik DD1310. Felhantering. Syntax. try och except är reserverade ord som används för hantering av exekverings fel.

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

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

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?

Användarhandledning Version 1.2

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.

TDIU01 - Programmering i C++, grundkurs

Pythons standardbibliotek

Visual Basic, en snabbgenomgång

Planering Programmering grundkurs HI1024 HT 2014

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

DD1314 Programmeringsteknik

F4. programmeringsteknik och Matlab

Introduktion till programmering SMD180. Föreläsning 3: Funktioner

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Grundkurs i programmering - intro

v. 42 Python HT17 En introduktion Oscar Bergqvist

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

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

MMA132: Laboration 2 Matriser i MATLAB

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

SCB :-0. Uno Holmer, Chalmers, höger 2 Ex. Induktiv definition av lista. // Basfall

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Datalogi, grundkurs 1

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

v. 43 Python HT17 En introduktion Oscar Bergqvist

7 GRUNDERNA I PROGRAMMERING

2D1339 Programkonstruktion för F1, ht 2004

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

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

Föreläsning 3-4 Innehåll

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2

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

Python Första steg. LGMA20, L9MA20 VT 2019 Jonathan Nilsson, Laura Fainsilber

Datalogi för E Övning 3

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

Föreläsning 10. Besiktningsprotokollet

Programmering i C, 7,5 hp

TDP Regler

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Föreläsning 6: Introduktion av listor

TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel

Tenta i Grundläggande programmering DD klockan

Tentamen Grundläggande programmering

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

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

kl Tentaupplägg

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

Transkript:

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

Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Utskrift Indata Felhantering Funktioner och moduler (grunder) Villkorssatsen if

Denna föreläsning Vår första loop: for Vår första samlingsdatatyp: listor

Planera... Vad skall programmet kunna göra? Välja två slumpmässiga tal till varje fråga Skriva ut en fråga Beräkna det rätta svaret Läsa in de svar testpersonen skriver på tangentbord Kontrollera om testpersonens svar är rätt eller inte Skriva ut ett rätt- eller felmeddelande Hålla koll på hur många frågor som testpersonen svarat rätt på Ställa ett givet antal frågor (t.ex. 10) Skriva ut ett slutmeddelande som berättar hur bra testpersonen klarat sig

Iterativa satser i Python Gör det möjligt att upprepa en sats eller flera satser om och om igen addera alla tal i en lista flytta alla filer som slutar med.py till ett eget bibliotek skriva ut alla tal mellan 1 och 100 fråga samma sak om och om igen tills svaret är rätt Python har två iterativa satser: for och while for används när du redan på förhand vet exakt hur många gånger du vill göra det du vill. while används däremot när du inte vet det...

Iterativa satser i Python Iterativ sats = loop En loop består, som if-satsen, av själva kontrollsatsen (for eller while) och ett indenterat kodblock När en loop exekveras, körs satserna i kodblocket tills loopen avslutas Kontrollsatsen avgör när loopen skall avslutas

for for hjälpvariabel in sekvens: kodblock Liknar if-satsen: Kolonet (:) markerar var koden som hör till for-satsen börjar Kodblocket måste indenteras for-loopen stegar igen en sekvens (en mängd värden, t.ex. strängar och listor) med hjälp av en hjälpvariabel

for >>> for bokstav in Python : print bokstav Den sekvens som hjälp-variablen går igenom (en sträng) P # Här har hjälpvariabeln bokstav värdet P y # bokstav har värdet y t # bokstav har värdet t h # bokstav har värdet h o # bokstav har värdet o n # och här värdet n

Flödesschema för for-loopen

for >>> for ord in ['Jag', 'lär', 'mig', 'programmera']: print ord Jag lär mig programmera Ny datatyp: listan

Listor Datatyp som kan lagra fler än ett värde Samlingsdatatyp Utmärks med hakparenteser [] >>> meny = [ korv, frukt, bacon ] >>> tal = [1, 2, 3] >>> mix = [ namn, 2, text, 78.9] >>> tom = []

Listor: att komma åt enskilda element >>> meny = [ korv, frukt, bacon ] korv frukt bacon 0 1 2 Med positivt index framifrån (börjar från 0): >>> meny[0] korv >>> meny[2] bacon Med negativt index bakifrån (börjar från -1)! >>> meny[-1] bacon

Mer om for for tal in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: print tal Jobbigt att t.ex. skriva ut talen 1-100: for tal in [1, 2, 3, 4, 5, 6, 7, 8, 9,, 100]: print tal Funktionen range: for tal in range(1, 101) : print tal

range range(start, slut, steg) start anger den första siffran i intervallet, medanslut anger den sista siffran minus ett. steg bestämmer hur stort avstånd det skall vara mellan elementen i den genererade listan. Man behöver inte ange alla tre argument, utan det räcker med ett enda. >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

range >>> lista = range(4) [0, 1, 2, 3] >>> range(-32, -20) [-32, -31, -30, -29, -28, -27, -26, -25, -24, -23, -22, - 21] >>> range(5,21) [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] >>> range(21,5) [] >>> range(0,10,2) [0, 2, 4, 6, 8] >>> range(0,10,3) [0, 3, 6, 9]

range Vilka listor skapas? range(10) range(0, 10) range(0, 10, 1)

TIllbaka till for-satsen n = input('hur många tal vill du skriva ut? ') for i in range(n): print i Provkörningar: Hur många tal vill du skriva ut? 5 0 1 2 3 4 Hur många tal vill du skriva ut? 1 0

Utskriften på samma rad? n = input('hur många tal vill du skriva ut? ') for i in range(n): print i, Provkörningar: Hur många tal vill du skriva ut? 5 0 1 2 3 4 Hur många tal vill du skriva ut? 1 0