Data hantering Och funktioner

“Indention” eller indrag för att markera block av kod, ett viktigt koncept att täcka här innan vi går djupare med kodning är detta, strukturens betydelse för mer komplexa koder.

I ​Pycharm​ sker indrag automatiskt men det kan vara viktigt att känna till för att kunna rätta till om det blir fel. Jag tar upp här ett exempel som visar vikten av indrag för kodning och skillnaden om detta inte sker.

Script  Beskrivning 
list = [”a”,”b”,”c”]
for letters in list:

print(letters)

print(”- – – – – – – – – -”)

Detta ger:
a
– – – – – – – – – –
b
– – – – – – – – – –
c
– – – – – – – – – –
list = [”a”,”b”,”c”]
for letters in list:

print(letters)

print(”- – – – – – – – – -”)

Detta ger istället:
a
b
c
– – – – – – – – – –

Första exemplet är en block av kod, dvs en sammanhängande kod där – – – – – – – – – – skrivs efter varje bokstav.

I det andra exemplet har den sista print() funktionen färgmarkerats så att du märker att den står på en plats som indikerar en annan separat kod från blocket som säger efter att första blocket är klart, skriv under det ​– – – – – – – – – –
Detta går att korrigera med hjälp utav ​Tab​ på tangentbordet, det går också att markera flera rader samtidigt och flytta dem med hjälp utav ​Tab​.

Listor

Listor kan innehålla nummer och andra element, såsom andra variabler. En tom lista kan skapas med List = [ ]

Script  Funktion Output
list = [”a”,”b”,”c”] print(lis)
[’a’,’b’,’c’]
list = [1,2,3,4,5,6,7,8,9,10] print(list[0])
1
list = [1,2,3,4,5,6,7,8,9,10] print(list[1]) 2
list = ”Houston,Stockholm,Lima print(list[1]) Stockholm

Det går att använda ​min eller max ​för att få det minsta eller största värdet i en lista. ​Sum används för att summera siffrorna i listan:

Script  Output
list = [1,2,3,4,5,6,7,8,9,10]
print(min(list))
print(max(list))
print(sum(list))

1
10
55

Lägga till eller ta bort

För att lägga till något till en lista används ​append() och för att ta bort används pop()​​, om inget är specificerat i ​pop()​ tar den bort det sista i listan. I andra exemplet används a.pop(1) detta indikerar att det andra värdet ska tas bort, eftersom den börjar från 0.

Script  Output
a = [”Screwdriver,Revolution 9 record,Torch”]
a.append(”Hint book”)
print(a)
[”Screwdriver”,”Revolution 9 record”,”Torch”]
Här lägges ordet Hint book till listan.
a = [1, 2, 3]
a.pop(1)
print(a)
[1, 3]
a.pop tar bort 1 från listan.

Sortera

Python har ett inbyggt verktyg för att sortera listor vilket det görs med: sort()​. Här sorterar den i ordning från lägst siffra till högst eller i bokstavsordning. Vi kan också ändra på detta om vi vill:

Script  Output
a = [9, 10, 7, 8, 6, 4, 5, 1, 2, 3]
a.sort()
print(a)
[1,2,3,4,5,6,7,8,9,10]
a = [”a,z,c,i,b,d,e,f,h,g”]
a.sort()
print(a)
[’a’, ’b’, ’c’, ’d’, ’e’, ’f’, ’f’,’g’, ’h’, ’i’, ’z’]
a = [9, 10, 7, 8, 6, 4, 5, 1, 2, 3]
a.sort()
a = list(reversed(a))
print(a)
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
a = list(reversed(a)) säger åt listan att omvända efter att den har sorterats
a = [”a,z,c,i,b,d,e,f,h,g”]
a.sort()
a = a[::-1]
print(a)
[’z’, ’i’, ’h’, ’g’, ’f’, ’e’, ’d’, ’c’, ’b’, ’a’, ]
a = a[::-1]
Vi kan också använda oss av detta för att omvandla listan, detta innebär att listan startar och slutar med sista karaktärerna och genom -1 vänds detta.

Ordboken

Eller “Dictionaries” används för att kunna dra ur specifik information som efterfrågas.

Script  Output
Bank_Account = {”name”: ”Sam Smith”, ”total”: 1500, ”location”: ”GA Atlanta Spring Boulevard”}
print(Bank_Account[”total”])
1500
Beroende på sista kommandot får vi olika resultat, om vi byter total till name istället får vi personens namn.
Bank_Account = {”name”: ”Sam Smith”, ”total”: 1500, ”location”: ”GA Atlanta Spring Boulevard”}
Bank_Account[”phone”] = ”555-5555”
print(Bank_Account.get(”phone”))
555-5555
Bank_Account[”phone”] = ”555-5555”
Genom detta har vi nu lagt till information på efterhand.
Bank_Account = {”name”: ”Sam Smith”, ”total”: 1500, ”location”: ”GA Atlanta Spring Boulevard”}
Bank_Account.update({”total”: 15, ”phone”: ”555-5555})
print(Bank_Account)
Bank_Account.update({”total”: 15, ”phone”: ”555-5555})
Detta uppdaterar uppgifterna i konton, ändrar existerande och lägger också till telefonnumret.

Loopar

FOR och WHILE loopar liknar varandra mycket eftersom båda kan använda samma funktioner med små skillnader. Man kan säga att while loopar används tills ett tillstånd har uppnåtts. ”Nested loops” är loopar inne i andra loopar.

Med exemplet här nedan används ​range​ 1, 11 i en FOR loop. Detta betyder att loopen börja på siffran 1 men räkna till 11, eftersom 0 också räknas. Både ​a (a)​ och ​list​ i mina exempel går att byta ut till valfritt namn.

Script  Output
for a in range(1, 11):

print(a)

1
2
3
4
5
6
7
8
9
10
list = [”a”: ”b”, ”c”]
for letters in list:

print(letters)

a
b
c

WHILE loopar

While loops körs tills deras mål har uppnått, om detta mål inte går att nås kommer den att arbeta så snabbt som möjligt och printa ut i hopp att nå dit, i detta fall behövs skriptet stängas ner.

Script  Output
numbers = 1
while numbers < 10:

print(numbers)
numbers += 1

print(numbers)

1
2
3
till 9
numbers = 10
while numbers > 0:

numbers -= 1
print(numbers)

9
8
7
6
till 0
a = [”a”, ”b”, ”c”]
while a:

print(a.pop(0))

a
b
c
Om inte a.pop(0) skriver den oändligt.

Loopar i loopar – Nested loops

I exempel nedan används två stycken ​range​ ​1, 10​. Dessa två läggs sedan in i en variabel (a*b). Därefter, när detta ska skrivas ut lägger vi till: ​print (multiplication, end=” ”). Den sista delen (end) som är tillagd är till för att lägga text inom citationstecknet, i detta fall är det bara en blank karaktär vilket ger oss ett mellanrum mellan alla de siffror som kommer att skrivas ut.

Script  Output
for a in range(1,11):
for b in range(1,11):

multiplication = a*b

print(multiplication, end=” ”)

print()

Det som kommer att visas är 10×10 multiplikationstabellen.

Funktioner

Funktioner kan ses som ett paket med koder ihopsatta och som arbetar tillsammans. Funktioner är väldigt användbara när man måste ha samma kod på flera ställen i scriptet, dessutom kan de lagras och modifieras på ett ställe i skriptet. ​

I exempel nedan definieras en funktion med namn function1. Allt som följer efter function1(): är kommandon som ingår i funktionen. I exemplet kommer print att köras tre gånger efter varandra, efter att funktionen aktiveras genom att skriva ​function1​()​ i sista raden i scriptet:

Script  Output
def function1():

print(”Hello World”)
print(”Hello World two”)
print(”Hello World three”)

function1()


Hello World
Hello World two
Hello World three
Def function1(x)::

return 2*x

a = function1(3)

print(a)

6
Här används return det innebär när vi skriver ur funktion (a) som är tre kommer denna att köras först som 2*3, sedan skrivs 6 ut.