Funkcia split

Všetky príklady v tejto lekcii počítali s tým, že čísla dostaneme rozdelené do riadkov. Čo ak by sme n čísel dostali na jedinom riadku? Funkcia input by ich všetky načítala do jedného reťazca a funkcia int by zlyhala, pretože vie skonvertovať iba jedno číslo z reťazca, nie viacero.

# Program dostane cislo n, pocet cisel, ktore budu nasledovat
# na dalsom riadku oddelene medzerou.
n = int(input())
cisla = input()
int(input())
# Chyba!
# Naprilkad pre vstup:
# 3
# 3 4 5
# Dostaneme chybu:
#    ValueError: invalid literal for int() with base 10: '3 4 5'
# To znamena, ze funkcia int() nevie skonvertovat '3 4 5' na jedine cislo.

Pomôžeme si preto metódou split, ktorá rozseká čísla v reťazci podľa medzier a vráti pole obsahujúce jednotlivé čísla (ako reťazce!).

# Program dostane cislo n, pocet cisel, ktore budu nasledovat
# na dalsom riadku, oddelene medzerou.
n = int(input())
# premenna cisla bude obsahovat cely riadok vstupu ako string,
# napriklad '3 4 5'
cisla = input()

# rozsekaneStr bude obsahovat jednotlive cisla v poli ako stringy,
# pretoze metoda split rozdeli obsah premennej cisla podla medzier.
# Napriklad: ['3', '4', '5']
rozsekaneStr = cisla.split()

# Z jednotlivych stringov v poli rozsekaneStr potrebujeme dostat inty.
# Napriklad: [3, 4, 5]
rozsekaneInt = []
for x in rozsekaneStr:
  rozsekaneInt.append(int(x))

print(rozsekaneInt)

# Vstup:
# 3 
# 3 4 5
# Vystup:
# rozsekaneStr: ['3', '4', '5']
# rozsekaneInt: [3, 4, 5]

Ukážeme si ešte jeden príklad použitia listu, tentokrát bude obsahovať reťazce. Program má za úlohu vypísať kód mesiaca zo vstupu.

# Program dostane cislo mesiaca (indexovaneho od 0) a vypise jeho skratku.
mesiace = ["jan", "feb", "mar", "apr", "maj", "jun",
           "jul", "aug", "sep", "okt", "nov", "dec"]
n = int(input())
print(mesiace[n])