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

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

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

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

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

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

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

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

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

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

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Uppgifter teknik HT17 (uppdaterad v. 40)

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

JavaScript del 3 If, Operatorer och Confirm

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

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

Grundläggande datalogi - Övning 1

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

TDIU01 - Programmering i C++, grundkurs

DD1314 Programmeringsteknik

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

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

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

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

Logik och kontrollstrukturer

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

729G04 Programmering och diskret matematik

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

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

729G04 Programmering och diskret matematik. Python 3: Loopar

Klassdeklaration. Metoddeklaration. Parameteröverföring

TDIU01 - Programmering i C++, grundkurs

Visual Basic, en snabbgenomgång

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

Selektion och iteration

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

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

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

Programmeringsteknik med C och Matlab

Objektorienterad Programmering (TDDC77)

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

Exempel på ett litet Ada-program

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

Användarhandledning Version 1.2

C++ - En introduktion

TDDE44 Programmering, grundkurs

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

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

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

Repetition C-programmering

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

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

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

Introduk+on +ll programmering i JavaScript

Introduktion C-programmering

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Grundläggande databehandling ht 2005

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

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

v. 43 Python HT17 En introduktion Oscar Bergqvist

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

v. 42 Python HT17 En introduktion Oscar Bergqvist

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

729G04 Programmering och diskret matematik

Variabler och konstanter

Uttryck och villkor. Föreläsning 2

Pythons standardbibliotek

Övningsuppgifter kapitel 8

Föreläsning 5 Mer om funktioner, villkor

Programmering A. Johan Eliasson

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

TDDE44 Programmering, grundkurs

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

TDDC77 Objektorienterad Programmering

Extramaterial till Matematik Y

Översikt över Visual Basic

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

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

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

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

CS - Computer science. Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008)

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

Funktioner. Linda Mannila

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

SMD 134 Objektorienterad programmering

Installera Anaconda Python

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Tentamen i. TDDC67 Funktionell programmering och Lisp

Objektorienterad Programmering (TDDC77)

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

Introduktion till programmering D0009E. Föreläsning 9: Tupler och dictionaries

729G74 - IT och programmering, grundkurs. Dugga.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

i LabVIEW. Några programmeringstekniska grundbegrepp

Beräkningsvetenskap föreläsning 2

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

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

Objektorienterad programmering Föreläsning 4

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Transkript:

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

Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser Vad som räknas som sant i Python Logiska operatorer

Från textfil till program

Python: pythoninterpretatorn IDLE Python: Programkod i språket Python

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.

Programmerare

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."

Villkorssatser

Villkorssatser, varför behöver vi dem? 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.

Villkorsuttryck - exempel 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.

Tre grund variationer om X, så gör Y om X, så gör A annars (dvs när inte X), gör B om X, gör A annars (dvs när inte X), om Y, gör B annars (dvs när inte X eller Y), om Z, gör C... i alla övriga fall (dvs när inget av ovanstående gäller), gör D

if om Y, så gör Y

Variant 1: enkelt villkor value = 0 if value == 0: print("sats 1") print("sats 2") sats 1 True Start <villkor> False sats 2 Slut

När är något sant?

Sanningsvärden Minns de boolska värdena True och False Alla nedanstående är falska (False), dvs alla uttryck förrutom följande är sanna (True) Värdet False Värdet None False None värdet 0 i alla former 0 0.0 Tomma sekvenser "" '' []

Sanningsvärden Saker som är sanna True "None" Saker som är falska False None 1 0 4.3 0.0 'hejsan' '' "kalle" "" [1, 2] []

CODELA: Sanningsvärden https://www.ida.liu.se/codela/as/729g04b/sanningsvarden

Jämförelseoperatorer Operation Meaning < strictly less than <= less than or equal > strictly greater than >= greater than or equal == equal!= not equal is is not object identity negated object identity

Fler av flera alternativ def calculate_allowance(age): if age > 10: print("du får 10kr") Start if age > 20: print("du får 20kr") if age > 30: 10 kr i veckopeng Ja Är du över 10 år? Nej print("du får 30kr") calculate_allowance(10) calculate_allowance(22) 20 kr i veckopeng Ja Är du över 20 år? Nej 30 kr i veckopeng Ja Är du över 30 år Nej Slut

CODELA: flera villkor https://www.ida.liu.se/codela/as/729g04b/fleravillkor

Exempel påsätt att få fram ett sanningsvärde hårdkoda ett sanningsvärde referera till en variabel jämföra två värden funktionsanrop till en funktion som returnerar ett sanningsvärde

Använd type() för att ta reda på datatyp För att ta reda på vilken datatyp något är, kan funktionen type() användas Exempel: type(3) - > int type("hej") - > str type(5.67) - > float

Logiska operatorer

Logiska operatorer Operator Exempel Kommentar and x and y om både x och y är sanna så är uttrycket sant or x or y om antingen x eller y är sant, eller både x och y är sanna not not x ger sanningsvärdet som är motsatsen till x, dvs not False == True

if med logik value = 10 if value!= 0 and value > 5: print("value not zero and larger than 5") if value >= 0 and value <= 5: print("value between 0 and 5") if not value == 0: print("value not 0") if value == 0 or value == 5: print("value 0 or 5")

Parenteser för att gruppera age = 4 name = "Guido" if (age < 10 and name == "Guido") or (age > 20): print("your are younger than 10 and called Guido,") print("or older than 20.")

CODELA: villkorssatser med logik https://www.ida.liu.se/codela/as/729g04b/logik

Input från användaren

Funktionen input() 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.

Vänta på att användaren ska skriva något def greeting(): name = input("what is your name?") print("hello " + name + ", nice to meet you.")

Demo av input()

if + else om X, gör A annars (dvs när inte X), gör B

Variant 2: Ett av två alternativ value = 42 if value == 42: print("sats 1") else: print("sats 2") print("sats 3") Start True False sats 1 <villkor> sats 2 # Observera skillanden nedan value = 42 if value == 42: else: print("sats 1") # Indentering är viktigt! # Här tillhör utskriften "Sats 3" # else- blocket print("sats 2") print("sats 3") sats 3 Slut

Syntax

if + elif [+ elif +... ] + else om X, gör A annars (dvs när inte X), om Y, gör B annars (dvs när inte X eller Y), om Z, gör C... i alla övriga fall (dvs när inget av ovanstående gäller), gör D

Variant 3: Ett av flera alternativ sunny = True Start cloudy = True night = True Trevligt! Ja Är det soligt? if sunny: print("nice") Nej elif cloudy: print("take some pictures?") elif night: print("hard to see the sky.") Bra fotoväder? Ja Är det molnigt? Nej else: print("i do not understand") Svår att se himlen då. Ja Är det natt? Nej Jag förstår inte.. Slut

elif jämfört med and

elif jämfört med and