Kom igång med Python Programmering 1 Agenda ● ● ● ● ● ● Matematiska operatorer och regler Datatyper & variabler Utskrifter (i konsolen) Inmatningar (i konsolen) Kommentering Visual Studio Code Matematiska regler De vanliga matematiska reglerna gäller i Python: print(1 + 2) print(3 - 4) print(3 * 4) print(4 / 2) print((1 + 3) / 2) print(7 + 5 * 2 - 3) Matematiska operatorer Heltalsdivision: // Modulooperatorn: % print(5 / 2) print(5 // 2) print(5 % 2) Matematiska operatorer Exponentiering: ** Översatt till våran vardagliga matematik, så betyder 10**2 alltså 102 print(10**2) print(10**3) print(10**4) Matematiska regler Modulo, heltalsdivision och exponentiering har samma prioritetsregler som i matematiken print( 10**2 + 100 / 50) print((3**2 / 9) * 2 - 1) Finns även mängder av matematiska funktioner i biblioteket math (tex sin, cos, pi). Detta kommer vi fördjupa oss i, i en senare del av kursen Variabler Variabel ● ● ● En behållare som pekar på minnet, där data kan sparas Kan ses som en “låda med etikett som innehåller ett värde” Skillnaden mot matematiken? a = 3 name = "Melissa Molnstrand" print(a) print(name) Melissa Molnstrand Variabler Tilldelningsoperatorn ● ● = Skillnad mot matematiken a = 3 print(a) 3 = a Variabler Reglerna för variabelnamn är följande: ● ● ● Vi får inte använda oss av reserverade nyckelord (som tex and, break, del, else mm) Vi får inte använda oss av specialtecken, skiljetecken eller mellanslag Vi får inte ha ett variabelnamn som börjar på en siffra En del programmeringsspråk tillåter inte att använda å, ä, ö. Python tillåter detta, men det kan vara bra att inte vänja sig vid det Variabler Vilka av dessa är giltiga variabelnamn? 1a procent% Abc123 123 abc 123abc mycketStoraTal spell hunter control%warrior Datatyper Datatyp anger vilken typ av data en variabel är De vanligaste, som vi kommer använda oss mest av i denna kurs: int Heltal float Decimaltal string Textsträng bool Booleansk variabel (kan bara anta värdena true eller false) Finns många fler. Många kommer vi gå igenom under kursen. Datatyper ● Behöver inte specifiera i Python vilken datatyp en variabel skall vara, den gör detta själv ● I tex C# måste du dock specificera när du deklarerar en variabel vilken datatyp denne skall vara: Datatyper Integers ● ● ● ● Heltal I Python 3.x finns inga gränser för storlek (förutom datorns gräns för internminnet) Viktigt att veta vilken datatyp som en variabel är, då vi i Python (eller C#) inte kan blanda olika datatyper Vi kan kontrollera datatyp med funktionen type(<variabeln>) Datatyper a = 3 print(type(a)) namn = "Melissa Molnstrand" print(type(namn)) Datatyper Float ● ● Decimaltal I Python 3.x finns inga gränser för storlek (förutom datorns gräns för internminnet) b = 2.0 print(type(b)) Datatyper String ● ● ● Teckensträngar Kan använda ‘ ‘ eller “ “ (måste dock matcha varandra) Nästkommande lektioner kommer vi dyka in mer i strängar och dess användningsområde a = "Testar" print(a) b = 'Testar' print(b) Datatyper Bool ● ● ● Booleansk variable Kan bara anta två värden, True eller False Stort användningsområde inom programmering a = False print(a) print(type(a)) Förresten! ● Ponera följande kod: tal = 5 tal = tal ** tal print(tal) Vad händer här? Utskrifter (i konsol) Som vi sett tidigare, så används funktionen print för att skriva ut i konsolen print("Hejsan på dig") text = "Jag heter Melissa" print(text) Melissa Vi har även sett hur vi kan skriva ut värdet i olika variabler Utskrift i konsol Hur gör vi för att skriva ut värdet på en variabel och text samtidigt? text = "Hejsan" print(text , "Svejsan") print(text + " Svejsan") Utskrift i konsolen Värt att tänka på dock är att när vi vill skriva ut ett tal så kommer vi stöta på problem: kostnad = 4 print("En apelsin kostar " + kostnad + " kr") Vad är problemet? Hur löser vi detta? Utskrift i konsolen I vårt exempel är variabeln kostnad av typen integer För att komma runt detta, måste vi omvandla variabeln kostnad ifrån integer till string. Detta görs med funktionen str() kostnad = 4 print("En apelsin kostar " + str(kostnad) + " kr") print("En apelsin kostar",kostnad, "kr") Utskrift i konsolen Det finns även funktioner för att omvandla till andra datatyper float() int() Dessa kommer vi ha stor användning av när vi räknar Utskrift i konsolen Escapesekvenser i strängar ● ● ● ● ● \n - Radbrytning \t - Tab \” - Utskrift av ett “-tecken \’ - Utskrift av ett ‘-tecken \\ - Utskrift av ett \-tecken print("En rad\nEn rad till") Utskrift i konsolen print("Nu tabbar jag\tNu tabbar jag en till\tVi tar en tabb till") Utskrift i konsolen Ponera följande scenario. Du vill skriva ut en sökväg till C:\en\nyMapp print("C:\en\nymapp") Resultatet blev inte riktigt som vi tänkt oss… Det finns dock två lösningar på detta problem: Utskrift i konsolen Ponera följande scenario. Du vill skriva ut en sökväg till C:\en\nyMapp print("C:\en\nymapp" Resultatet blev inte riktigt som vi tänkt oss… Det finns dock två lösningar på detta problem: Utskrift i konsolen 1: Vi lägger in escape-tecknet före backslash:et print("C:\en\\nymapp") 2. r före strängen, så skriver den ut den rå, utan att ta hänsyn till escape-sekvenser print(r"C:\en\nymapp") Inmatningar (i konsolen) För att låta användaren mata in något i konsolen används input() name = input("Vad heter du? ") print(name) Det matas in som en sträng, vilket är viktigt att tänka på ifall vi skulle vilja ha dessa som tal Melissa Melissa Inmatningar (i konsolen) tal1 = input("Skriv in ett tal: ") tal2 = input("Skriv in ett tal till: ") print(tal1 + tal2) Inmatningar i konsolen tal1 = int(input("Skriv in ett tal: ")) tal2 = int(input("Skriv in ett tal till: ")) print(tal1 + tal2) Kommentering ● ● Viktig att kommentera sin kod ””” ””” eller # Kommentering