Nyckelord: While-loopen, For-loopen

Skriv ut en julgran i Python
Skriv ett program som skriver ut en julgran enligt följande specifikation.
nmbr_of_rows = 10;
nmbr_of_cols = 10;
ger följande utskrift.
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
och
nmbr_of_rows = 5;
nmbr_of_cols = 5;
ger
*
***
*****
*******
*********
Ledtråd
Försök hitta ett samband hur antal asterisker (*) växer med antal rader.
Ledtråd
På rad i, räknat från 0, skrivs 2 * i + 1 asterisker. Det ger 1, 3, 5 och så vidare.
Använd parametern end="" i print-funktionen för att skriva ut flera textsträngar på samma rad.
Exempel:
print("1234", end="")
print("5678", end="")
Skriver ut textsträngen:
12345678
Medans
print("1234")
print("5678")
skriver ut:
1234
5678
Svar
nmbr_of_rows = 10
nmbr_of_cols = 10
# Loopa igenom antal rader
for i in range(nmbr_of_rows):
# Loopa igenom antal blankslag " "
for j in range(nmbr_of_cols - i):
print(" ", end ="")
# Loopa igenom antal asteriks
k = 0
while (k < (2 * i + 1)) :
print("*", end ="")
k += 1
# Skriv ut en ny rad
print()
Förklaring
Den yttre loopen går igenom raderna. Första inre loopen skriver mellanslag och den andra skriver 2 * i + 1 stjärnor. Båda antalen är kända i förväg, så en for-loop passar även för stjärnorna. Här används while för att öva båda looptyperna.
I Python kan man skriva ut text på samma rad genom att lägga till parametern end="" i print-funktionen.
Testa ändra värdena på nmbr_of_rows och nmbr_of_cols och se hur granen växer och minskar!