# * coding : utf 8 * 2 """ 3 Spyder Editor 4 5 This i s a temporary s c r i p t f i l e. 6 """ 7 import t h i s 8 9 """ 0 B e a u t i f u l i s b e t t e r than ugly. E x p l i c i t i s b e t t e r than i m p l i c i t. 2 Simple i s b e t t e r than complex. 3 Complex i s b e t t e r than complicated. 4 Flat i s b e t t e r than nested. 5 Sparse i s b e t t e r than dense. 6 R e a d a b i l i t y counts. 7 S p e c i a l c a s e s aren ' t s p e c i a l enough to break the r u l e s. 8 Although p r a c t i c a l i t y beats p u r i t y. 9 Errors should never pass s i l e n t l y. 20 Unless e x p l i c i t l y s i l e n c e d. 2 In the f a c e o f ambiguity, r e f u s e the temptation to guess. 22 There should be one and p r e f e r a b l y only one obvious way to do i t. 23 Although that way may not be obvious at f i r s t u n l e s s you ' re Dutch. 24 Now i s b e t t e r than never. 25 Although never i s o f t e n b e t t e r than * r i g h t * now. 26 I f the implementation i s hard to explain, i t ' s a bad idea. 27 I f the implementation i s easy to explain, i t may be a good idea. 28 Namespaces are one honking g r e a t idea l e t ' s do more o f those! 29 """ Introduktion till Python Erik Oscar A. Nilsson Python Lektion ett September 30, 207
Contents Installation. 32 eller 64 bitar?.................................. Men men jag har Mac :/........................2 Installationslen................................. 2.3 I Spyder och xar med inställningarna.................... 2 2 Grundläggande operationer 4 2. Bekanta dig med Python............................ 4 2.2 Första knapptryckningarna........................... 5 3 Lista upp och lista ner 7 4 There are no strings on me 8 5 Grundläggande logik 8 5. Utsagor!..................................... 8 6 Loops - Berg och Dalbanor 9 6. FOR(E)!..................................... 0 6.2 Linspace och mer for.............................. 0 6.3 WHILE!..................................... 0 7 Kommentarer 8 Uppgifter 8. Uppgift.................................... 8.2 Uppgift 2.................................... 8.3 Uppgift 3 - Svår.................................
Installation Innan du börjar så kolla så att du har den senaste upplagan av dokumentet, saker och uppdateringar kan ha kommit till eller tagits bort. Introduktion till Python Jag kommer att visa hur och vart man hittar den nödvändiga programvaran för att börja programmera i Python jag kommer att visa lite genvägar som är onödigt att använda av sig men dessa kommer att få dig till att komma igång snabbt och du slipper krångel (förhoppningsvis).. 32 eller 64 bitar? Vi börjar med att kolla om ditt system använder 32 eller 64 bitar (det esta moderna datorer använder sig av 64 bitar). Jag visar hu du ska göra om du använder Windows: Börja med att högerklicka på Windows ikonen klicka sen på System och sen kollar du på Systemtyp för att se om du har 32 eller 64 bitar. Figure :.. Men men jag har Mac :/ Tror detta funkar som förklaring till dig, Ocial Apple Support Communities P.S. Använder inte mac så ska inte säga för mycket. E. Oscar A. Nilsson
.2 Installationslen.2 Installationslen Gå nu till Anacondas hemsida Anaconda - Download om du bläddra ner lite på sidan så kommer du se följande. P.S. Det är viktigt att välja Python 3.6 annars kommer visa saker att skilja sig mellan det som jag skriver och vad du som läser kommer att behöva skriva för att koden ska funka. Jag visar hur du ska gå till väga för att installera det på en dator med Windows Du har nu fått en installationsl den ligger vanligtvis i Hämtade ler. Efter det så startar du len och följer instruktionerna som kommer när du kör installationslen..3 I Spyder och xar med inställningarna Sedan startar du Spyder, du kan hitta den i Disk C: Användare "Användarnamn" Anaconda 3 Scripts Spyder.exe Tror det är lättare att söka efter Spyder, eller så på iken med Nyligen tillagda. När du har startat Spyder så går du till, har du Mac så går du till E. Oscar A. Nilsson 2
.3 I Spyder och xar med inställningarna Tools Preferences Global Working Directory Här kan du välja var dina ler ska sparas och hämtas ifrån, den står redan på att du laddar ifrån där den senaste len sparades. Efter det går du till Tools Preferences Editor Advanced Settings Edit template for new modules Figure 2: När du har tryckt på Edit template for new modules, så kommer det att öppnas en ny l i bakgrunden som heter template.py, du kan nu också stänga ner fönstret med Preferences. Du skriver nu om den len som öppnades till att bli följande: # * coding : utf 8 * 2 """ 3 Created on %(date ) s 4 @author : %(username ) s 5 """ 6 from s c i p y import * 7 from pylab import * Efter det så sparar du och stänger ner. Gå nu till Tools Preferences IPython console Startup och ändra den till att likna texten på bilden E. Oscar A. Nilsson 3
2 Figure 3: Enkelt sagt så gör det att programmet hämtar de verktygen du behöver för lösa uppgifterna som jag kommer att ge dig som läsare och lite till. I ett senare kapitel så går jag igenom vad dessa kommandon betyder. 2 Grundläggande operationer 2. Bekanta dig med Python Vi börjar nu enkelt med att visa vart du ska skriva alla saker Figure 4: Du kommer nog att ha mer eller mindre densamma, hehe, ändra färgerna lite bara. E. Oscar A. Nilsson 4
2.2 Första knapptryckningarna 2 Till vänster har du Editorn, den kommer vi att använda lite senare då vi behöver skriva lite längre program. Upp till höger har du, tre olika val för är Variable explorer den ger dig information om vilka variabler du har använt och vad dem är för något. File explorer: den kommer att ge dig information om vilka andra ler som ligger i den mappen där du arbetar. Help: den ger dig information om hur du ska använda vissa kommandon, vad den vill ha som input och vad den ger som output. Ner till höger har du också tre olika val, Python console: den behöver du inte bry dig om. :D History log: den ger dig information om historiken över dina kommandon. IPython console här är det vi ska jobba så fortsätt att ha den markerad. Viktigt, koden du ser är i editorn men stanna kvar i IPhython console tills jag ber dig att ytta på dig! :) 2.2 Första knapptryckningarna börja med att skriva följnade, p r i n t ( ' Hello World ' ) Så tryck in de följande i konsolen, gissa också gärna innan vad dem olika kommandona gör. 3+5 2 5 3 3 5 e3 4 5 5/3 6 3*5 7 8 5**3 9 pow (3, 5) 0 pow (5, 3) s q r t ( 3 ) 2 5//3 3 4 9//2 5 2//9 6 7 9 % 2 8 7 % 9 x = 3 2 y = 5 När du är klar med det så kan du fortsätta med att skriva in om du har gjort samma som jag så har du nu en likande bild som jag har E. Oscar A. Nilsson 5
2.2 Första knapptryckningarna 2 Figure 5: antingen så har du bara x och y eller också med euler, e och pi. Om du inte har det så är det kanske bara för att du inte har startat om efter du gjorde ändringarna ovan, ingen fara! Du kan bara skriva in de raderna manuellt i IPhython console nu. när du har gjort det fortsätt med att skriva x = 7 Du kan nu se att variablen x har ändrat sig i Varible Explorer. Fortsätt nu med de följande kommandon, innan du trycker enter gissa vad resultatet kommer att bli, lycka till! x += 2 2 x = 7 3 x *= 2 4 x /= 4 5 y %= 3 6 y **= 4 7 y //= 5 x = 3 2 y = 5 Använd nu uppåtpilen för att gå till baka till kommandona fortsätt sen med att lösa de följande uppgifterna x+y 2 x **y 3 x//y 4 x%y 5 y%x d e l x 2 d e l y Du kan också ta bort variabler genom att skriva följande E. Oscar A. Nilsson 6
3 du kan se att de har tagits bort genom att kolla i Variable explorer. Du behöver heller inte deklarera dina variabler på enskilda linjer utan kan ta er på en gång, t.ex. x, y =, 2 2 a = b = c = 3 d e l x, y 3 Lista upp och lista ner Vi ska börja med att skapa listor, x = [ 3, 7, 3, 5, 9, 23, 3 ] x [ 0 ] 2 x [ ] 3 4 x[ ] 5 x[ 2] Vi kan nu plocka ut ett element i listan, vi räknar det första elementet som 0, och vi kan också räkna bakifrån men då börjar vi på -. Vi har också möjligheten att ta en del av listan, x [ 2 : 5 ] 2 x [4: 2] 3 x [ 3 : ] 4 x [ : 3 ] Vi har också några kommandon som ger dig information om listan, hur lång den är, största och minsta värde i listan. l e n ( x ) 2 max( x ) 3 min ( x ) Det nns också möjlighet att lägga till ett objekt i listan med append, räkna hur många specika element som nns i listan, vilket index som ett element har, dock så väljer den bara det första, du kan byta ordningen på listan eller trycka in ett element på en specik plats. x. append ( ) 2 x 3 4 x. count ( 3 ) 5 x. count (27) 6 7 x. index (23) 8 x. index ( 3 ) 9 0 x. r e v e r s e ( ) E. Oscar A. Nilsson 7
5 x 2 3 x. i n s e r t (3, 3) 4 x 5 6 x. i n s e r t (0, 7) 7 x Gör vi en lista till så kan vi addera ihop dem, eller också bara dubblera dem. y = [ 0, 6, 8,, 0 ] 2 3 x + y 4 x *2 4 There are no strings on me Vi börjar nu med att skriva lite strings eller som man också kan kalla det, text i ett programmeringsprogram. :D Vi börjar med att ge några variabler lite trevliga egenskaper x, y, z = " Hello ", ' World ', """ Hi World, Goodbye! """ Vi har inte så många relevanta kommandon men de liknar i alla fall de för listorna, x+y 2 x *3 3 x [ 2 ] 4 x [ 0 : 8 ] Man kan inte bara kombinera "siror" och strings (text) så nu kommer du få lite exempel på ett error meddelande och hur man kan xa det! 2 x + 5 Grundläggande logik 5. Utsagor! Nu går vi in lite på logik och matematik, och här gäller det att lära sig vad en fullständig mening som oftast kallas för påstående eller en utsaga. Ska ge lite olika exempel på vad som är en utsaga eller inte, (a) Malmö (b) Mars (c) 2 3 (d) x + y 4 E. Oscar A. Nilsson 8
6 (e) Stockholm ligger i Norge (f) Det nns marsianer (g) 2 3 = 8 (h) x 2 + y 2 = r 2 Exempel a-b är inga utsagor det är bara namn eller ord på saker, eller företeelser. Det händer inget, eller något påstående/fråga. Exempel e-h, är däremot utsagor. De två första är rena meningar och är lätta att tolk, huruvida de är sanna eller ej påverkar inte deras logiska status av att vara utsagor. Exempel H, är lite annorlunda jämfört med de tre andra då svaret är beroende av vilka x, y eller r som sätts in. Vi antar vid dessa tillfällen att om vi har den information så kan vi svara med sant eller falsk. Vi kalla också denna typen av utsagor för öppna utsagor. Flera utsagor kan kombineras med varandra på olika sätt och bilda nya utsagor. De enklaste sätter att göra detta är de som i vardagsspråket representeras av orden och och eller. Om P och Q är två utsagor, ska P och Q vara en utsaga, som är sann precis om både P och Q är sanna; annars är den falsk. Vi använder tecknet för detta P Q, detta kallas för konjunktionen av P och Q. I programmeringen så använder vi &. Om P och Q är två utsagor, ska P eller Q vara en utsaga, som är sann precis om en eller båda av utsagorna P eller Q är sanna; annars är den falsk. Vi använder tecknet för detta P Q, detta kallas för konjunktionen av P eller Q. I programmeringen så använder vi. Figure 6: Logiska symboler i python Kommando Betydelse Kommando Betydelse Not (Negation) & And (och) Or (eller) exclusive or (exklusivt eller) 6 Loops - Berg och Dalbanor NU! FÅR DU GÅ ÖVER OCH SKRIVA I Editor! WOHO! :D E. Oscar A. Nilsson 9
6. FOR(E)! 7 6. FOR(E)! Loopar är en av de vanligaste kommandona du kommer använda nu och senare, en loop är precis vad det heter. En loop där man repeterar några kommandon antingen ett xerat antal gånger eller beroende på hur en variabel förändras. T.ex. så länge en variabler är större eller mindre än något. Den första delen berättar för dig om vilken variabel som vi använder i mitt exempel så är det i, jag använder sen kommandot range för att skapa en lista som går upp till tio, vid varje tillfälle loopen går så skriver den också ut värdet på variabeln. 2 f o r i in range (0) : Här i nästa exempel så gör vi mer eller mindre samma sak fast med den lilla skillnaden att vi skriver inte ut variabeln utan texten "hello". 2 f o r i in range ( 5 ) : 6.2 Linspace och mer for Det nns ett gt kommandon som delar upp ett intervall i ett giver antal delar. Typ som intervallet [0,] i delar vilket ger oss 0, 0., 0.2,...,. och nu kan vi kombinera det med for loop typ som följande 2 f o r i in x : Eller så kan man gå igenom andra typer av lister, 2 x = [ ' Ett ', ' Hej ', ' Tre ', ' T r e t i o e t t ', 2, 5 ] 3 f o r i in x : 6.3 WHILE! Vi har en funktion som inte bara går igenom en lista eller ett vist antal utan till en ett kriterier uppfylls. Nu börjar vi med att säga att n = 5, sen att loopen ska hålla på så länge n är större eller lika med ett, i loopen skriver vi ut värdet på n men vi drar också bort ett från n hela tiden. 2 n=5 3 while n>=: 4 p r i n t (n) Vi kan också köra på t.ex. hela vägen tills att en variabel har blivit liten nog som följande. 2 n=0 3 while n>=e 9: 4 p r i n t (n) E. Oscar A. Nilsson 0
8 7 Kommentarer Du ska nu också lära dig att kommentera din kod dvs, skriva text i editor som inte utförs av programmet men det hjälper dig att hålla kolla på viktiga detaljer eller förklara för andra som ska förstå ditt program, du kan göra det på två sätt, ett med trippel och ett med bara "fyrkant". likt detta """ 2 Typ detta 3 """ 4 5 # E l l e r detta Du använder """ när du ska skriva lite längre text och fyrkant när den är kortare. 8 Uppgifter 8. Uppgift Låt x n = log(n), n > 0. n Det går lätt att visa att lim x n = 0 skapa en lista med alla punkterna x n för all n tills att n x n < 0 4. Hur långa är denna listan? 8.2 Uppgift 2 ˆ Beräkna summan ˆ Beräkna summan ˆ Beräkna summan 200 n= 200 n= n 3 n 200 n 2 n= 8.3 Uppgift 3 - Svår Du ska nu låta datorn skriva ut alla tal från till 200, dock så ska den när det är en multipel av tre skriva ut Hello, för multiplar av fem skriva ut World och när det är både fem och tre så ska den skriva ut Hello World. 2 E. Oscar A. Nilsson
8.3 Uppgift 3 - Svår 8 Hello 4 World Hello 7 8 Hello World Hello 3 4 Hello World. E. Oscar A. Nilsson 2