Tegn et juletre i Python

Dette er en oppgave for nybegynnere i programmering i Python. Les her hvordan å komme i gang med Python.

Hele oppgaven

Tegn et juletre-mønster med stjerner “*” på skjermen.

Klarer du dette selv?

Oppgaven steg for steg

Steg 1. Åpen IDLE

1. Søk opp “IDLE” i søkefeltet og start programmet.
2. Åpne nytt kodevindu der vi skal skrive selve programmet ved å velge File -> New File

Hvis du er usikker – se her for mer detaljer om kodekjøring i IDLE.

Steg 2. Print et lite juletre med stjerner

For å skrive ut noe på skjermen brukes funksjonen print().

print("    *    ");
print("   * *   ");
print("  * * *  ");
print(" * * * * ");
print("* * * * *");

Kjør koden ved å velge Run -> Run Module (eller F5):

Steg 3. Lag mange stjerner med for-løkker

Skal vi lage stort juletre, blir det mye jobb å skrive det manuelt med print() kommandoen.

Løkker i Python er kommandoer som repeteres automatisk og heter For loop.

For-løkken i Python bruker range() funksjonen. Funksjonen kan ta imot opptil 3 parametre:


range(start, stop, step)

Løkken som skriver ut tall 0, 1, 2, 3, 4:

for n in range(5):
  print(n) 

Løkken som skriver ut tall 2, 3, 4:

for n in range(2, 5):
  print(n) 

Løkken som skriver ut tall 0, 2, 4, 6, 8, 10:

for n in range(0, 11, 2):
  print(n) 

Løkken som skriver ut et stigende antall stjerner fra 1 til 15.

for x in range(1, 15):
    stjerner = '*' * x
    print(stjerner)

Denne koden printer ut riktig antall stjerner, men de er ikke sentrert:

Steg 4. Lag stort juletre

Vi har kode å printe ut mange nok stjerner, men mangler å sentrere stjernene på midten.

I Python bruker vi funksjonen center(length, character) for å sentrere stjernene. Vi har 15 stjerner:

for x in range(1, 15):
    stjerner = '*' * x
    print(stjerner.center(15))

Juletreet ble litt skjevt. La oss lage det bredere og ha step=2 slik at treet blir jevn på alle kanter:

for x in range(1, 30, 2):
    stjerner = '*' * x
    print(stjerner.center(30))

Resultatet: