Python

Från Wikiskola
Hoppa till navigering Hoppa till sök
Programmeringsuppgift

Matematikuppgifter i Python


Lär mer - Andra kurser och böcker

PIM, Programmering i Matematik vänder sig till grundskolans år 7-9 och är en utmärkt introduktion.

Pythonkurs Skapad av Fredrik Frippe Johansson, CC.

Snakify en bra kurs för lärare. Du kör i deras snygga miljö i browsern.

Fredrik Johanssons Lärarhandledning i Python, Creative Commons

Lathund Python 3

Länk till programmeringsuppgifter som används på KTH.

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

För att köra programmet: Installera en interpreterare: exempelvis Download Windows x86-64 web-based installer.

  • Öppna ett kommandofönster (Python shell).
  • Öppna en ny fil och klipp in koden och spara.
  • Välj Run.

Alternativ webmiljöför att köra koden i browsern: https://repl.it/

Print och variabler

"""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 True eller False
Om inte den första if-satsen stämmer jämförs nästa elif osv. 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

Dictionaries

En Dictionary är som en ordlista. Ett verktyg för att koppla ihop saker.

din_dictionary = {"Hejsan": "Hello", "Hejdå": "Good Bye", "egenskaper": ["fin", "snäll", "lång"] }

print( din_dictionary["Hejsan"] )
"""Kommer skriva ut:
Hello
"""

print( din_dictionary["egenskaper"] )
"""Kommer skriva ut:
["fin", "snäll", "lång"]
"""

#Om du vill lägga till kopplingar i din dictionary skriver du:

din_dictionary["ålder"] = 18

print( din_dictionary["ålder"] )
"""Kommer skriva ut:
18
"""

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 at köra printsatserna samt skriva ut "hejsan"

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

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å "-|-"