Från Scratch till Python (för nybörjare i Python)

Sekvenser av Instruktioner

Visst vet ni att Instruktioner i Scratch utförs av Spritarna i ordningen uppifrån och ner, så som man placerar ut dem på Skriptytan.

Ett Python program är instruktioner som man skriver i en fil. Python kommer att utföra instruktionerna uppifrån och ner, som man skriver in dem i filen. Vi börjar med att skrive ett väldigt enkelt Python program:

print(1 + 1)
print(5 - 1)

print('Det här är en textrad')

Ser ni likheten! Notera '-tecknet, det används för att tala om för Python att det är text (se nedan om datatyper)

Prova att skapa en ny fil i IDLE, och skriv in instruktionerna ovan och tryck på F5-tangenten för att köra programmet. Vad händer?

Python gör precis det vi programmerade den att göra...

  • Först räknade den ut 1 + 1 och skrev ut (print-funktionen)..
  • Sen räknade den ut 5 - 1, och skrev ut.
  • Sen skrev den ut textraden.

Här är en länk tillYouTube film om Instruktioner och Sekvenser och likheterna mellan Scratch och Python

Datatyper

Nu ska vi introducera begreppet Datatyper.

Okej, vi börjar med ett exempel i Scratch. Kolla på de här två Instruktionerna

Den första Instruktionen kommer få Spriten att säga 2, och representerar en kvantitet. Den andra kommer få Spriten att säga "Det här är en textrad", och representerar text. Och den tredje Instruktionen sammanfogar två 1:or, som text.

När man programmerar säger man inte text, utan använder begreppet Sträng/Strängar (string på engelska). För tala om för Python att man avser kvantiteter så använder man t.ex. heltal (int/integer på engelska)

I Scratch behöver man inte alls tänka på Datatyper, men det behöver man göra när man programmerar Python.

Prova t.ex. att skriva in de här Python instruktionerna:

print(1 + 1)

print('Det här är en textrad')

print('1' + '1')

Den första Instruktionen printar ut kvantiteten 2, eller heltalet/int 2. Den andra skriver ut strängen/texten. Man talar om att det är en sträng med '-tecknet. Den tredje kan kräva lite extra uppmärksamhet. Vi har två strängar '1', och sen ett '+'. Python tolkar det inte som addition utan som sammanfoga, eftersom det är två strängar. Därför sammanfogar Python de två '1':orna, till strängen '11'.

Prova att köra den här Instruktionen:

print(Det här är en textrad)

Notera att Python säger "Syntax Error", och förstår inte. Det är för print-funktionen bara kan skriva ut strängar/text.

Här är exempel på några Datatyper i Python:

  • Heltal (heltal)
  • String (text)
  • Listor

Man kan fråga Python vad ett uttryck har för datatyp, så här. Prova själv.


print(type(1 + 1))
print(5 - 1)
print(type('Det här är en textrad'))

Pyhon kör den första raden. Räknar ut 1 + 1, dvs 2. Skickar in 2 som argument till type-funtionen, som returnerer 'int', och skriver ut det. Sen utförs den andra raden, 5 - 1 räknas ut, 4, och skrivs ut. Sist utförs den tredje raden.

Här är en länk till YouTube film om datatyper

Variabler

Nu ska vi introducera ett till begrepp som heter Variabel. Vi vill kunna lagra saker, under tiden instruktioner körs. Som ett sätt för instruktionerna dela på data.

Vi börjar väl med Scratch, hur jobbar man med variabler i Scratch, minns ni?

Här har vi tre variabler; a, b och c. Vi sätter(tilldelar) först a till heltalet 8. Sen använder vi innehållet i a och sätter(tilldelar) b till ((8*8) - 8) - 1, som blir om jag räknar rätt heltalet 55. Sen sätter(tilldelar) vi c till innehållet i a (heltalet 8) multiplicerat med innehållet i b (heltalet 55), dvs 440. Nu är innehållet i c satt till heltalet 440, som vi säger.

Sådärja, nu testar vi samma sak i Python. Här häller det att stava rätt 😃

a = 3 + 5
b = (a * a) - a - 1
c = a * b
print (c)

Här har vi några instruktioner som använder Variabler (a, b och c). Prova om du kan se vad programmet skriver ut?

  • Python börjar med att räknar ut 3 + 5, som är 8.
  • Sen tilldelas a värdet 8. a är en variabel, som har ett namn (a) och ett innehåll (8).
  • b tilldelas (kom ihåg att a har värdet 8), (8 * 8) - 8 - 1. Dvs b = 55.
  • c tilldelas, 8 * 55, dvs c = 440.

Här är en länk till YouTube film om Variabler