# modul pole

import vratcislo, random

def vypis(pole,text="Prvky poľa:"):
    """ Vypíše text a prvky poľa """
    print(text)
    print(pole)

def vytvorIntZadanim():
    """ Vytvorí pole zadaním hodnôt prvkov poľa """
    pocetPrvkov = vratcislo.nezaporneCele("Počet prvkov poľa: ")
    pole = []
    for i in range(pocetPrvkov):
        zadal = vratcislo.cele(str(i+1)+". prvok poľa: ")
        pole.append(zadal)
    vypis(pole)
    return pole

def vytvorIntNahodne(od=1,po=9):
    """ Vytvorí pole vygenerovaním celých náhodných čísel od 'od' po 'po' """
    pocetPrvkov = vratcislo.nezaporneCele("Počet prvkov poľa: ")
    pole = [random.randint(od,po) for _ in range(pocetPrvkov)]
    vypis(pole)
    return pole

def vypisPodSeba(pole):
    """ Vypíše nadpis a prvky poľa """
    print("Prvky poľa:")
    for prvok in pole:
        print(prvok)

def vytvorRealZadanim():
    """ Vytvorí pole zadaním hodnôt prvkov poľa """
    pocetPrvkov = vratcislo.nezaporneCele("Počet prvkov poľa: ")
    pole = []
    for i in range(pocetPrvkov):
        pole.append(vratcislo.realne(str(i+1)+". prvok: "))
    vypisPodSeba(pole)
    return pole
 
def vytvorRealNahodne(nasobok=1):
    """ Vytvorí pole vygenerovaním reálnych náhodných čísel z <0;nasobok) """
    pocetPrvkov = vratcislo.nezaporneCele("Počet prvkov poľa: ")
    pole = []
    for _ in range(pocetPrvkov):
        pole.append(random.random()*nasobok)
    vypisPodSeba(pole)
    return pole

def vytvorCharNahodne(zac='A',kon='Z'):
    """ Vytvorí pole vygenerovaním náhodných znakov od znaku zac po znak kon """
    od = ord(zac)
    po = ord(kon)
    pocetPrvkov = vratcislo.nezaporneCele("Počet prvkov poľa: ")
    pole = []
    for _ in range(pocetPrvkov):
        pole.append(chr(random.randint(od,po)))
    vypis(pole)
    return pole

def vytvorStrZadanim():
    """ Vytvorí pole zadaním hodnôt prvkov poľa """
    pocetPrvkov = vratcislo.nezaporneCele("Počet prvkov poľa: ")
    pole = []
    for i in range(pocetPrvkov):
        pole.append(input(str(i+1)+". prvok: "))
    vypis(pole)
    return pole
