Övning 2. Sammanfattning. Organisationer som använder python. Innehåll

Relevanta dokument
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. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316

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

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

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

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

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

Nya möjligheter med M3 Technology. Björn Svensson, Björn Torold

Grundläggande datalogi - Övning 1

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

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

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

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

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

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111

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

Examensarbete Introduk)on - Slutsatser Anne Håkansson annehak@kth.se Studierektor Examensarbeten ICT-skolan, KTH

DD1314 Programmeringsteknik

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

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

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

Objektsamlingar i Java

Sara Skärhem Martin Jansson Dalarna Science Park

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

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


SCRATCH är ett nytt programmeringsspråk som gör att du kan skapa dina egna interaktiv historier, animationer, spel, musik och konst.

Pythons standardbibliotek

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

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

Course syllabus 1(7) School of Management and Economics. FEN305 Reg.No. EHVc 2005:6 Date of decision Course Code. Företag och Marknad I

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

The present situation on the application of ICT in precision agriculture in Sweden

School of Management and Economics Reg. No. EHV 2008/245/514 COURSE SYLLABUS. Business and Market I. Business Administration.

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

3 rd October 2017

Att skriva till och läsa från terminalfönstret

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

Adding active and blended learning to an introductory mechanics course

Kursplan. FÖ3032 Redovisning och styrning av internationellt verksamma företag. 15 högskolepoäng, Avancerad nivå 1

SVENSK STANDARD SS-EN ISO 19108:2005/AC:2015

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

Variabler och konstanter

District Application for Partnership

Företagsekonomi, allmän kurs. Business Administration, General Course. Business Administration until further notice

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

Syns du, finns du? Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap

Övning 1 - Abstrakta datatyper

Questionnaire on Nurses Feeling for Hospital Odors

Användarhandledning Version 1.2

Datasäkerhet och integritet

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

Isolda Purchase - EDI

Kursplan. MT1051 3D CAD Grundläggande. 7,5 högskolepoäng, Grundnivå 1. 3D-CAD Basic Course

Skillnader mellan Python och Java

Introduktion ICAO-EASA.

TDIU01 - Programmering i C++, grundkurs

Ordlistor, filhantering och ut på webben. Linda Mannila

Protected areas in Sweden - a Barents perspective

SkillGuide. Bruksanvisning. Svenska

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

Fujitsu Day Göteborg 8 oktober

Extramaterial till Matematik Y

The GEO Life Region. Roland Norgren - Process Manager R&I. Creating the tools for the Healthy and Wellbeing Life.

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

Preschool Kindergarten

Planering Programmering grundkurs HI1024 HT TIDAA

Installation av F13 Bråvalla

Alias 1.0 Rollbaserad inloggning

State Examinations Commission

Scalable Dynamic Analysis of Binary Code

Ö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:

Läkemedelsverkets Farmakovigilansdag

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

Tunga metaller / Heavy metals ICH Q3d & Farmakope. Rolf Arndt Cambrex Karlskoga

DE TRE UTMANINGARNA..

PORTSECURITY IN SÖLVESBORG

Annonsformat desktop. Startsida / områdesstartsidor. Artikel/nyhets-sidor. 1. Toppbanner, format 1050x180 pxl. Format 1060x180 px + 250x240 pxl.

Styrteknik: Binära tal, talsystem och koder D3:1

Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm

Planering Programmering grundkurs HI1024 HT data

Dokumentnamn Order and safety regulations for Hässleholms Kretsloppscenter. Godkänd/ansvarig Gunilla Holmberg. Kretsloppscenter

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Measuring child participation in immunization registries: two national surveys, 2001

Användarhandbok. MHL to HDMI Adapter IM750

Translation Changes in Swedish EBSCOhost Interface

OFTP2: Secure transfer over the Internet

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

Support Manual HoistLocatel Electronic Locks

VHDL testbänk. Mall-programmets funktion. Låset öppnas när tangenten 1 trycks ned och sedan släpps. William Sandqvist

Datalogi för E Övning 3

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

Transkript:

/home/lindahlm/activity-phd/teaching/12dd1310/exercise2/exercise2.py September 4, 20121 0 # -*- decoding : latin -1 -*- Övning 2 Sammanfattning Idag fick vi svar på frågorna; Hur gör man för att hoppa över en sats och hur gör man för att för att upprepa en sats flera gånger? För att hoppa över en sats användes if, elif eller else och för att uprepa en sats används for eller while slinga/loop. Vi gick igenom logiska operatorer and (&), or ( ) och **not samt samt jämförelseoperatorer ==,!=, <, <=, >, >=. Vi lekte med dessa genom att bl.a. skriva ett rektangel, ett palindrom och ett ränteprogram. Organisationer som använder python Från http://wiki.python.org/moin/organizationsusingpython Yahoo Maps Yahoo acquired Four11, whose address and mapping lookup services were implemented in Python. Yahoo Maps still uses Python today, as can be seen by examining its URLs. Google Many components of the Google spider and search engine are written in Python (mentioned on Slashdot). Battlefield 2 Battlefield 2 uses python to implement core elements of the gameplay such as score keeping and team balancing. Check out the BF2 Tech Wiki for sample BF2 Python scripts and information about API. Civilization 4 The new addition to the legendary strategy game series has all its inner logic, including AI, implemented in Python. The interface is exposed, so the modding community can easily take advantage of it. NASA Johnson Space Center uses Python in its Integrated Planning System as the standard scripting language. Efforts are underway to develop a modular collection of tools for assisting shuttle pre-mission planning and to replace older tools written in Perl and shell dialects. Python will also be installed in the new Mission Control Center to perform auxiliary processing integrated with a user interface shell. Ongoing developments include an automated grammar based system whereby C++ libraries may be interfaced directly to Python via compiler techniques. This technology can be extended to other languages in the future. SMHI (Swedish Meteorological and Hydrological Institute SMHI is the home of the Swedish civilian weather, hydrological and oceanographic services. Its Python-based remote sensing software for automatic product generation, using NOAA and Meteosat data, provides information to bench forecasters, objective analysis schemes, and commercial interests such as the media. This system receives raw data from several weather satellites, and produces images for many purposes, including the satellite images used for the presentation of the daily weather on Swedish TV 4. Nokia Nokia is using Python to provide high level programming environment for their S60 (Symbian) and Maemo (Linux) platforms IBM IBM East Fishkill is using Python to create the business practice logic for factory tool control applications. These are used to control material entry, exit and data collection at the Micrus semiconductor plant in East Fishkill. Code that had been previously written in an internal, proprietary scripting language has been ported to Python. CIA The site of the USA Central Intelligence Agency (CIA) is powered by Python/Zope/Plone. Innehåll Datatypen bool True / 1 False / 0

/home/lindahlm/activity-phd/teaching/12dd1310/exercise2/exercise2.py September 4, 20122 Jämförelseoperatorer == lika med!= skillt från < mindre än <= mindre eller lika med > större än >= större eller lika med Logiska operatorer and (&) och or ( ) eller not icke Villkorssatsen if if(vilkor):, elif(vilkor):, else:,if-satsen används för val mellan två alternativ. elif och else kan användas vid behov Slingor: while och for while(vilkor):, break, En while-slinga upprepar ett antal satser så länge som ett villkor är uppfyllt. break bryter slingan for i in [1,2,5]: En for-slinga upprepar ett antal satser för varje element i en följd. Logiska operatorer not True = False not False = True True and True = True True and False = False False and True = False False and False = False True or True = True True or False = True False or True = True False or False = False 121 122 # Övning 2 123 # Programexempel för if, for och while 124 # Mikael Lindahl 110906 INMATNING, Bra exempel på hur man kan göra menyval med **while**. 1. Skriv in ett tal mellan 0-4. 2. Säg till om det inte var mellan 0-4. 3. Säg om det var ett 4. Säg om det inte var två, 5. Säg om det var två. Variabler: svar, tal 136 s v a r=i n p u t (" S k r i v e t t t a l m e l l a n 0 4 : ")

/home/lindahlm/activity-phd/teaching/12dd1310/exercise2/exercise2.py September 4, 20123 S k r i v e t t t a l m e l l a n 0-4 : 137 t a l=i n t ( s v a r ) 138 w h i l e not (0 <=t a l <=4) : # slinga, observera att tal måste vara int / float 139 140 p r i n t (" F e l a k t i g t t a l ") 141 t a l=i n p u t (" S k r i v e t t t a l m e l l a n 0 4 : ") 143 IF-sats, vilkorsats 144 # Jämföra heltal 145 i f t a l==1 : 146 p r i n t ("Du v a l d e e t t! ") 147 e l i f ( t a l!=2) : # Observera att eftersom vi använder elif istället 148 149 # för if kommer den inte komma hit om tal==1! 150 p r i n t ( "Du v a l d e i n t e två! " ) 151 e l s e : 152 p r i n t ( "Du v a l d e två! ") Du v a l d e t v å! Jämföra strängar med avseende på likhet 154 p r o g n o s= moln 155 i f p r o g n o s== moln : 156 p r i n t ( Det b l i r molning ) Det b l i r m o l n i n g Men även alfabetisk ordning 159 o r d= apa 160 i f o r d < b : 161 p r i n t ( o r d + b ö r j a r på a ) apa b ö r j a r på a Skriva ut en rektangel. Exempel på for-loop. 1. Ge antal rader, n, 2. Ge antal kolumner, m. 3. Skriv ut en rektangel av stjärnor med n rader och m kolumner. Variabler: kol, rad 177 def r e k t a n g e l ( rad, k o l ) : 178 f o r i i n r a n g e ( r a d ) : 179 s = 180 f o r j i n r a n g e ( k o l ) : 181 s = s + * # Adderar strängar 182 183 p r i n t ( s ) 184 185 s v a r = i n p u t ( Hur många r a d e r? ) Hur många r a d e r? 179 r a d = i n t ( s v a r ) 180 p r i n t ( rad, r a d e r ) (3, r a d e r ) 181 s v a r = i n p u t ( Hur många kolumner? ) Hur många k o l u m n e r?

/home/lindahlm/activity-phd/teaching/12dd1310/exercise2/exercise2.py September 4, 20124 182 k o l = i n t ( s v a r ) 183 p r i n t ( k o l, kolumner ) (4, kolumner ) 184 r e k t a n g e l ( rad, k o l ) **** **** **** Samma fast med globala variabler i rektangel 194 def r e k t a n g e l _ g l o b a l () : 195 g l o b a l rad, k o l 196 f o r i i n r a n g e ( r a d ) : 197 s = 198 f o r j i n r a n g e ( k o l ) : 199 s = s + * # Adderar strängar 200 201 p r i n t ( s ) 202 203 s v a r = i n p u t ( Hur många r a d e r? ) Hur många r a d e r? 196 r a d = i n t ( s v a r ) 197 p r i n t ( rad, r a d e r ) (4, r a d e r ) 198 s v a r = i n p u t ( Hur många kolumner? ) Hur många k o l u m n e r? 199 k o l = i n t ( s v a r ) 200 p r i n t ( k o l, kolumner ) (5, kolumner ) 201 r e k t a n g e l _ g l o b a l () Kontrollerar palindrom. Avänder for-loop och while-slinga. Exemple: anna, otto, ebbe, bob, hannah 1. Fråga efter palindrom 2. Säg om det är ett palindrom 3. Fråga igen 4. Avsluta med retur Variabler: ord, s (sträng), p (boolean) 214 def p a l i n d r o m ( s ) : 215 l a n g d = l e n ( s ) 216 # s. lower () # Hanterar stor bokstav 217 p = True 218 f o r i i n r a n g e ( i n t ( l a n g d /2) ) : 219 i f s [ i ]!= s [ l a n g d - i -1 ] : 220 p = F a l s e 221 break 222 r e t u r n p 223

/home/lindahlm/activity-phd/teaching/12dd1310/exercise2/exercise2.py September 4, 20125 224 225 226 o r d = Vadsomhelst 227 w h i l e o r d!= : 228 o r d = raw_input ( Ange e t t ord, a v l u t a med e n d a s t r e t u r : ) 229 i f o r d == : 230 break 231 i f p a l i n d r o m ( o r d ) : 232 p r i n t ( o r d + är e t t palindrom ) 233 e l s e : 234 p r i n t ( o r d + är e j e t t palindrom ) Ange e t t ord, a v l u t a med e n d a s t r e t u r : o l a s a l o ä r e t t p a l i n d r o m Ange e t t ord, a v l u t a med e n d a s t r e t u r : f i s k ä r e j e t t p a l i n d r o m Ange e t t ord, a v l u t a med e n d a s t r e t u r : Sparprogram. Anropas fel. 1. Funktion som returnerar hur mycket pengar har jag efter x år och med y ränta och z kr från start. Ränta: 1 %, 1000 kr från början 1år: (1000+1000*0.01) = 1000*(1+0.01)=1000*1.01 2år: 1000*1.01+1000*1.01*0.01 = 1000*0.01*(1+0.01) = 1000*1.01^2 xår: 1000*1.01^x Variabler: amount, time, interest 248 249 import math 250 def s a v i n g s ( amount, time, i n t e r e s t ) : 251 # time in years 252 # interest in percent 253 i f t i m e < 0 : 254 p r i n t ( " e r r o r " ) 255 e l s e : 256 r e t u r n amount * math.pow (1+ i n t e r e s t /100.0, t i m e ) 257 258 p r i n t ( s a v i n g s (1000, 20,5) ) 2653. 29770514 257 # 2653. 29770514 Hitta felet 282 283 print ( " hello ) 284 285 286 i = 0 287 while i < 10 288 i = i + 1 289 290 i = 0 291 while i < 10 : 292 i = i + 1 293 print i 294 295 "a" = 5 296 297 if True : 298 print ( 1 ) 299 else if True :

/home/lindahlm/activity-phd/teaching/12dd1310/exercise2/exercise2.py September 4, 20126 300 print ( 2 ) 301