Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Introduktion till Funktioner | Funktioner
Python Ninja

bookIntroduktion till Funktioner

Svep för att visa menyn

När utmaningarna blir svårare behöver du ofta att Ninjan grupperar en sekvens av handlingar till ett enda återanvändbart kommando som kan anropas vid behov.

Tänk dig till exempel att det finns 2 sushiplattor i samma mönster på kartan. Ninjan måste närma sig varje, plocka upp den och fortsätta. Att kopiera samma kod varje gång fungerar, men det blir snabbt rörigt och tar tid. Funktioner löser detta problem.

En funktion låter dig gruppera flera kommandon till en enda åtgärd och ge den ett namn. När den är definierad kan du köra den åtgärden när du vill med bara en kodrad. Tänk på en funktion som ett eget drag du lär din Ninja.

Så här kan koden se ut utan att använda funktioner:

ninja.py

ninja.py

copy

Här upprepas logiskt två grupper av rörelser.

Skapa din första funktion

Omvandla nu den upprepade logiken till en funktion:

def collect_sushi(ninja):
    ninja.go_right()
    ninja.go_right()
    ninja.pick_sushi()

Detta händer här:

  • def påbörjar en funktionsdefinition;
  • collect_sushi är funktionens namn;
  • ninja är funktionens parameter;
  • De indragna raderna är de kommandon som funktionen kör.

Anropa en funktion

När funktionen är definierad kan du använda den så här:

collect_sushi(ninja)
collect_sushi(ninja)

Prova detta:

ninja.py

ninja.py

copy
Note
Notering

All kod inuti en funktion måste vara indenterad under funktionsdefinitionen.

Till exempel fungerar inte koden nedan eftersom den inte är korrekt indenterad:

def collect_sushi(ninja):
ninja.go_right()
ninja.go_right()
ninja.pick_sushi()
question mark

Varför är det bättre att använda en funktion som collect_sushi() än att kopiera samma rörelsekod flera gånger?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 1

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 3. Kapitel 1
some-alt