PYTHON SNABBREPETITION MEN FÖRST LITE ALLMÄNT OM PROGRAMMERING 729G04 PYTHON 2. Dagens Python

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

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

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

Föreläsning 2 Programmeringsteknik och C DD1316

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

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

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?

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

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

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

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

Uppgifter teknik HT17 (uppdaterad v. 40)

Grundläggande datalogi - Övning 1

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

JavaScript del 3 If, Operatorer och Confirm

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.

DD1314 Programmeringsteknik

Repetition C-programmering

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

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

729G04 Programmering och diskret matematik

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner

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

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

Introduktion C-programmering

Introduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner

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

Selektion och iteration

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

Funktioner. Linda Mannila

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

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

729G04 Programmering och diskret matematik. Python 3: Loopar

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

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

TDDE44 Programmering, grundkurs

Användarhandledning Version 1.2

TDIU01 - Programmering i C++, grundkurs

Visual Basic, en snabbgenomgång

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

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

729G04 Programmering och diskret matematik

C++ - En introduktion

Föreläsning 5 Mer om funktioner, villkor

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

Logik och kontrollstrukturer

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Pythons standardbibliotek

TDDE44 Programmering, grundkurs

Programmeringsteknik med C och Matlab

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Grundläggande databehandling ht 2005

Laboration: Whitebox- och blackboxtesting

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

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

729G74 - IT och programmering, grundkurs. Dugga.

Klassdeklaration. Metoddeklaration. Parameteröverföring

Perspektiv på programmering Arlanda 22 feb

Programmering A. Johan Eliasson

Variabler och konstanter

TDP002 Imperativ programmering

Erfarenheter från labben

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

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

Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180)

Beijer Electronics AB 2000, MA00336A,

TUTORIAL: KLASSER & OBJEKT

Perspektiv på programmering, #13, Karlstad HISTORISKT OCH UNDERVISNING

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

Objektorienterad Programmering (TDDC77)

TDIU01 - Programmering i C++, grundkurs

v. 43 Python HT17 En introduktion Oscar Bergqvist

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

v. 42 Python HT17 En introduktion Oscar Bergqvist

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Övningar i 2D2050. Per-Anders Staav (kallas Pa) Epost: eller

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

Programmering för språkteknologer I, VT2012. Rum

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Introduk+on +ll programmering i JavaScript

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Installera Anaconda Python

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

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

DD1361 Programmeringsparadigm. Carina Edlund

Uttryck och villkor. Föreläsning 2

Användar- och systemdokumentation

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

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

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

Föreläsning 3. Programmering, C och programmeringsmiljö

Ordlistor, filhantering och ut på webben. Linda Mannila

Föreläsning 3: Booleans, if, switch

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)

Programmering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg

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

Transkript:

Dagens Python 729G04 PYTHON 2 Mer om funktioner Villkorssatser JODY FOO Department of Computer and Information Science (IDA) Linköping University, Sweden Linköpings universitet 1 2 MEN FÖRST LITE ALLMÄNT OM PROGRAMMERING PYTHON SNABBREPETITION 3 4

IDLE Programkod Interpretator CPU Python: Programkod i språket Python Python: pythoninterpretatorn Vad är en textfil? En fil är en sekvens av information som lagras i filsystemet. I datorsammanhang pratar man t.ex. om bits och bytes, en byte är en siffra mellan 0 och 255. För att få fram en boktav så har man en tabell. En textfil är en fil som bara innehåller bytes som ska tolkas som tecken. Linköpings universitet 5 6 VEM ÄR PROGRAMMERARE? Data från National Center for Education Statistics National Center for Women in Information Technology Girl Scout Research Institute American Association of University Women Linköpings universitet 7 8

9 10 11 12

Citat från "The Computer Girls" Cosmopolitan 1967 "It's just like planning a dinner," explains Dr. Grace Hopper, now a staff scientist in systems programming for Univac. (She helped develop the first electronic digital computer, the Eniac, in 1946.) "You have to plan ahead and schedule everything so it's ready when you need it. Programming requires patience and the ability to handle detail. Women are 'naturals' at computer programming." 13 14 Ada Lovelace (Augusta Ada King, Countess of Lovelace) Augusta Ada King, Countess of Lovelace (10 December 1815 27 November 1852), born Augusta Ada Byron and now commonly known as Ada Lovelace, was an English mathematician and writer chiefly known for her work on Charles Babbage's early mechanical general-purpose computer, the Analytical Engine. Her notes on the engine include what is recognized as the first algorithm intended to be processed by a machine. Because of this, she is often considered the world's first computer programmer. NU TILLBAKA TILL PYTHON 15 16

Funktioner Funktioner f(x) = x + x f(x) = 4x def f(x): return x + x def f(x): return 4*x funktionsnamn argument returvärde indentering def f(x): print("g kan räkna.") return x + x Linköpings universitet Linköpings universitet 17 18 Funktioner def add_numbers(number1, number2): return number1 + number2! def say_hello(name, age): print("hello " + name) print("i see your are " + str(age) + " years old." return None CODELA 1: MERA FUNKTIONER http://www.ida.liu.se/codela/as/729g04/02a Linköpings universitet 19 20

Villkorssatser, varför behöver vi dem? VILLKORSSATSER Ett program måste kunna reagera på olika sätt beroende vilken indata den får, eller vilket tillstånd det är i. Ett sätt att göra detta är att använda villkorssatser, om-så-satser, if-then. 21 22 Villkorsuttryck - exempel Tre grund-variationer Om vi har räknat ända till 100, sluta räkna. Om användaren har skrivit 'sluta', gå ur programmet. Om klockan är 04:00, stäng av datorn. Om det finns ett nytt meddelande i inkorgen, spela upp ett fint ljud. Om användarens dator verkar befinna sig i Sverige, visa innehållet på svenska. if if-else if-elif-else 23 24

Variant 1: enkelt villkor Variant 2: Ett av två alternativ Start! Om <villkor> är sant: gör! Gör! Slut True Start <villkor> False Start! Om <villkor> är sant: gör Annars (dvs om ovantsående är falskt): gör! Gör sats 3! Slut Start True False <villkor> sats 3 Slut Slut 25 26 Variant 3: Ett av flera alternativ Observera! Start om X gäller, gör annars, om Y gäller, gör annars, om Z gäller, gör!! om inget av ovanstående gäller, gör Trevligt! Bra fotoväder? Svår att se himlen då. Är det soligt? Är det molnigt? Är det natt? g förstår inte.. Att välja ett av flera alternativ är inte det samma som att kolla om flera alternativ är sanna. Hur ska nedanstående tolkas? om ålder < 10 säg "hej" om ålder > 10 säg "hejsan" om ålder > 20 säg "hejhej" om ålder > 30 säg "goddag" Slut Linköpings universitet 27 28

Sanningsvärden True eller False NÄR ÄR NÅGOT SANT? Alla uttryck förrutom följande är sant (True). Dvs nedanstående är falska False värdet 0 i alla former: 0 0.0 Tomma sekvenser: "" '' [] 29 30 Sanningsvärden Sanningsvärden Dvs att följande har sanningsvärdet True "hejsan" 4 7.4 [1] [1, 6, "en lista"] True Saker som är sanna Saker som är falska True False "None" None 1 0 4.3 0.0 'hejsan' '' "kalle" "" [1, 2] [] 31 32

Hur får man fram ett sanningsvärde? Jämförelseoperatorer Genom att jämföra saker Genom att göra ett funktionsanrop till en funktion som returnerar ett sanningsvärde Genom att referera till en variabel Genom att hårdkoda ett sanningsvärde Operation Meaning < strictly less than <= less than or equal > strictly greater than >= greater than or equal == equal!= not equal is object identity is not negated object identity 33 34 OM FLER ÄN EN RÄCKER UPP HANDEN, SÅ BLIR DET EN SNABBDEMO, ANNARS FÅR NI HÖRA ETT LJUD VILLKORSSATSER I PYTHON 35 36

Syntax: enkelt villkor Syntax: ett av två alternativ +1 +2 37 38 Syntax: ett av två alternativ Syntax: ett av två alternativ +1 +2 +1 +2 39 40

Ett av två alternativ Ett av två alternativ +1 +2 +1 +2 41 42 Ett av två alternativ Syntax: Ett av fler alternativ +1 +2 el +1 +2 +1 +2 43 44

Syntax: Ett av fler alternativ Syntax: Ett av fler alternativ el +1 +2 +1 +2 el +1 +2 +1 +2 45 46 Syntax: Ett av fler alternativ Syntax: Ett av fler alternativ el +1 +2 +1 +2 el +1 +2 +1 +2 47 48

Syntax: Ett av fler alternativ Syntax: Ett av fler alternativ el +1 +2 +1 +2 el +1 +2 +1 +2 49 50 Syntax: Ett av fler alternativ Syntax: Ett av fler alternativ el +1 +2 +1 +2 el +1 +2 +1 +2 51 52

Syntax: Ett av fler alternativ Syntax: Ett av fler alternativ el +1 +2 +1 +2 el +1 +2 +1 +2 53 54 Syntax: Ett av fler alternativ Fler av flera alternativ Start Start el +1 +2 +1 +2 10 kr i veckopeng 20 kr i veckopeng Är du över 10 år? Är du över 20 år? 0 kr i veckopeng Slut +1 +2 +1 +2 10 kr i veckopeng 20 kr i veckopeng 30 kr i veckopeng Är du över 10 år? Är du över 20 år? Är du över 30 år Slut 55 56

Syntax Syntax +1 +2 else <sanningsvärde>: +1 +2 Vilket if hör det sista t till? +1 +2 else <sanningsvärde>: +1 +2 10 kr i veckopeng 20 kr i veckopeng Start Är du över 10 år? Är du över 20 år? 0 kr i veckopeng Slut 57 58 CODELA 2: VI PROVAR VILLKORSSATSER http://www.ida.liu.se/codela/as/729g04/02b LOGISKA OPERATORER 59 60

Logiska operatorer Exempel Operator Exempel Kommentar and or not x and y x or y not x om både x och y är sanna så är uttrycket sant om antingen x eller y är sant, eller både x och y är sanna ger sanningsvärdet som är motsatsen till x, dvs not False == True def turn_on_light(light_intensity): if light_intensity == 0: print("the light is now off.") if light_intensity > 0 and light_intensity < 50: print("the light is set to dim.") if light_intensity >= 50 and light_intensity < 100: print("the light shines bright.") if light_intensity >= 100: print("bright light! Bright light!") 61 62 Omskrivet exempel Parenteser för att gruppera def turn_on_light(light_intensity): if light_intensity == 0: print("the light is now off.") elif light_intensity < 50: print("the light is set to dim.") elif light_intensity < 100: print("the light shines bright.") print("bright light! Bright light!") if light_on and (night or dark): print "Ok, you can keep the light on." elif light_on and (day or bright): print "Better turn off the light." elif ((not light_on) or light_broken) and (night or dark): print "It sure is dark here." print "I don't care if the light is on or off." 63 64

CODELA 3: VILLKORSSATSER MED LOGIK http://www.ida.liu.se/codela/as/729g04/02b INPUT FRÅN ANVÄNDAREN 65 66 Funktionen input() Vänta på att användaren ska skriva något Använd funktionen input() för att ta läsa av en rad som användaren skriver in. Ex: svar = input("vad heter du? ") Ovanstående skriver ut strängen "Vad heter du?" och väntar på att användaren ska skriva in något följt av ett radbryt. Det användaren skrev tilldelas variabeln svar som en sträng. def greeting(): name = input('what is your name? ') print "Hello " + name + "!" Linköpings universitet 67 68

Demo av input() 69