Python: Skillnad mellan sidversioner

Från Wikiskola
Hoppa till navigering Hoppa till sök
Rad 76: Rad 76:
</pre>
</pre>


===While-loopar===
===while-loopar===
Upprepar kod tills ett villkor är uppfyllt. I exemplet så körs while-loopen så länge variabeln ålder är mindre än 4.
Upprepar kod tills ett villkor är uppfyllt. I exemplet så körs while-loopen så länge variabeln ålder är mindre än 4.
<pre>
<pre>
Rad 91: Rad 91:
"""
"""
</pre>
</pre>
===Funktioner===
===Funktioner===
En funktion är som att lägga flera rader kod i en variabel, så när funktionen anropas körs koden i funktionen.<br />En funktion kan ta in parametrar, när funktionen skrivs så tolkas de som variabler utan värde, men när man anropar funktionen får de ett värde.<br />Värden kan returneras genom att skriva '''return''' och sedna det som du vill skicka ur funktionen. Det värdet kan du lägga i en variabel som i exempelkoden nedan.  
En funktion är som att lägga flera rader kod i en variabel, så när funktionen anropas körs koden i funktionen.<br />En funktion kan ta in parametrar, när funktionen skrivs så tolkas de som variabler utan värde, men när man anropar funktionen får de ett värde.<br />Värden kan returneras genom att skriva '''return''' och sedna det som du vill skicka ur funktionen. Det värdet kan du lägga i en variabel som i exempelkoden nedan.  

Versionen från 22 februari 2018 kl. 19.23

Lathund Python 3

länk till programmeringsuppgifter

Detta är endast en lathundm så allt kommer inte vara med. Om du har funderingar så kan du öppna pythons dokumentation.

"""Detta är en kommentar som 
kan gå över flera
rader
"""
#Detta är också en kommentar, men går bara över en rad

print("Hejsan")

ålder = 3

namn = input("vad heter du?") # frågar användaren vad den heter och läser in det som skrivs in 

siffra = int("3") # siffra blir en int

bakstav = str(3) # bokstav blir en sträng 

if-satser

Verifierar om ett påstående är sannt True eller falskt False
Om inte den första if-satsen stämmer jämförs nästa elif. Om ingen stämmer kommer else köras.

if (ålder < 2):
	print("du är under 2")
elif (ålder == 2):
	print("Du är 2 år")
elif (ålder == 3):
	print("du är 3 år")
else:
	print("Du är mer än 3 år")

Listor

Du skapar en tom lista genom att skriva [ ] och lägga den tomma listan i en variabel. I listan kan du lägga in saker som strängar, siffror, andra listor osv.

lista = ["hej", "vad", ålder, 32, ["hej", "igen"]]

print(lista)
#kommer skriva ut
#["hej", "vad", ålder, 32, ["hej", "igen"]]

lista.append("hejsan")
#kommer lägga till "hejsan" längst bak i listan

print(lista[0]) #kommer printa "hej"
print(lista[1]) #kommer printa "vad"
print(lista[-1]) #kommer printa "hejsan", då den printar det sista elementet i listan

x = lista.pop(0) # tar ut elementet på plats 0 och sparar värdet i variablen x

for-loopar

For-loopar används föratt iterera över något, eller bara upprepa något ett antal gånger.

for i in range(3):
	print(i, "denna printsats kommer köra 3 gånger")

""" for-loopen kommer skriva ut:
0 denna printsats kommer köra 3 gånger
1 denna printsats kommer köra 3 gånger
2 denna printsats kommer köra 3 gånger
"""

lista = ["h", "e", "j"]
for bokstav in lista:
    print(bokstav)
"""kommer skriva ut:
h
e
j
""""

while-loopar

Upprepar kod tills ett villkor är uppfyllt. I exemplet så körs while-loopen så länge variabeln ålder är mindre än 4.

ålder = 0
while ålder < 4:
	print(ålder)
	ålder += 1 #lägger till 1 på variabeln ålder

"""While loopen kommer skriva ut:
0
1
2
3
"""

Funktioner

En funktion är som att lägga flera rader kod i en variabel, så när funktionen anropas körs koden i funktionen.
En funktion kan ta in parametrar, när funktionen skrivs så tolkas de som variabler utan värde, men när man anropar funktionen får de ett värde.
Värden kan returneras genom att skriva return och sedna det som du vill skicka ur funktionen. Det värdet kan du lägga i en variabel som i exempelkoden nedan.

def funktion(parameter1, parameter2):
	print("Här kan  du skriva kod för en funktion")
	print(parameter1)
	print(parameter2)
	return "hejsan"

x = funktion("hej", 2) # x kommer vara "hejsan" eftersom "hejsan" returnas från funktionen

print(x) # kommer skriva ut "hejsan"

"""funktionen över kommer skriva ut:
Här kan  du skriva kod för en funktion
hej
2
"""

Klasser

En klass är en beskrivning av objekt, vilka attribut den ska ha och vilka metoder.
Attribut: Ett värde som objektet har
Metod: En funktion som du kan anropa på ett objekt för att använda/ändra information hos ett specifikt objekt

class Klass():
	#Alla klasser måste ha en __init__ metod
	#Den anropas varje gång du skapar ett objekt av din klass
	#Alla metoder som skapas till klassen måste ha self som en parameter
	
	"""Attributen för klassen skriv i __init__ metoden genom att skriva self.parameternamn = vilket värde det ska va"""
	def __init__(self, namn):
		self.ålder = 0
		self.namn = namn
		self.egenskaper = []
	"""Objekten kommer ha attributen ålder som bärjar som 0, ett namn som skrivs in när objektet skapas och en lista som kallas egenskaper"""

	"""__str__ metoden anropas när du printar ett objekt"""
	def __str__(self):
		return self.namn + " " + str(self.ålder) + " " + str(self.egenskaper)

	"""Ökar objektets attribut ålder med en viss mängd"""
	def öka_ålder(self, mängd):
		self.ålder += mängd

#skapar ett objekt av klassen Klass med namnet "Pelle"
mitt_objekt = Klass("Pelle")

mitt_objekt.egenskaper.append("snäll")

mitt_objekt.egenskaper.append("fin")

mitt_objekt.öka_ålder(2)

print(mitt_objekt) 
"""Kommer skriva ut:
Pelle 2 ["snäll", "fin"]
"""

Filhantering

Om du ska läsa från en fil som heter text.txt som ligger i samma mapp som pythonfilen som körs
Om filen ligger i en mapp, använd / för att gå in i mappen:
ex: filen ligger i en mapp som heter skrifter skriver du "skrifter/text.txt"

""""""
fil = open("text.txt", "r", encoding = "utf-8")

rad = fil.readline() # läser en rad från filen och lägger informationen som en sträng i variablen rad

rad.strip() #tar bort '\n' i slutet av strängen

"""delar upp strängen med avseende på mellanslag och lägger delarna i en lista, skriv in en annan sträng
Om du skriver in en sträng som parameter så kommer den dela upp strängen med avseende på den parametern"""
radLista1 = rad.split()
radLista2 = rad.split("-") # delar med avseende på "-"
radLista3 = rad.split("-|-") # delar med avseende på "-|-"