Plik: AA.txt

import random


class Tablica:
    def __init__(self, rozmiar):
        self.__rozmiar = rozmiar  # Pole przechowujące rozmiar tablicy
        self.__tablica = self.generuj_tablice_z_nieparzystymi(rozmiar)

    def generuj_tablice_z_nieparzystymi(self, rozmiar):
        """Generuje tablicę o zadanym rozmiarze, zawierającą dokładnie 49 liczb nieparzystych."""
        tablica = []

        # Dodajemy 49 liczb nieparzystych
        while len(tablica) < 49:
            tablica.append(random.randint(1, 1000) * 2 + 1)  # Generujemy liczbę nieparzystą

        # Dodajemy resztę liczb do tablicy (jeśli rozmia12r tablicy jest większy niż 49)
        while len(tablica) < rozmiar:
            tablica.append(random.randint(1, 1000))  # Losowe liczby całkowite (mogą być parzyste)

        random.shuffle(tablica)  # Mieszamy tablicę, aby liczby nieparzyste były losowo rozmieszczone
        return tablica

    def wyswietl_elementy(self):
        """Wyswietla wszystkie elementy tablicy w formacie <index>:<wartość>."""
        for index, wartosc in enumerate(self.__tablica):
            print(f"{index}:{wartosc}")

    def szukaj_elementu(self, wartosc):
        """Szukaj pierwszego wystąpienia wartości w tablicy. Zwraca indeks lub -1 jeśli nie znaleziono."""
        for index, element in enumerate(self.__tablica):
            if element == wartosc:
                return index
        return -1

    def liczba_nieparzystych(self):
        """Wyswietla wszystkie liczby nieparzyste w tablicy po kolei w osobnych liniach i zwraca ich liczbę."""
        nieparzyste = [x for x in self.__tablica if x % 2 != 0]

        # Wyświetlanie liczb nieparzystych w osobnych liniach
        for liczba in nieparzyste:
            print(liczba)

        return len(nieparzyste)

    def srednia(self):
        """Oblicza średnią arytmetyczną wszystkich wartości w tablicy."""
        return sum(self.__tablica) / len(self.__tablica)


# Program główny
if __name__ == "__main__":
    # Tworzymy obiekt klasy Tablica o rozmiarze większym niż 20
    tablica = Tablica(50)  # Rozmiar tablicy większy niż 49

    # Wyświetlenie wszystkich elementów tablicy
    print("Elementy tablicy:")
    tablica.wyswietl_elementy()

    # Wyszukiwanie elementu
    wartosc_do_szukania = int(input("Podaj wartość do wyszukania: "))
    indeks = tablica.szukaj_elementu(wartosc_do_szukania)
    if indeks != -1:
        print(f"Znaleziono wartość {wartosc_do_szukania} na indeksie {indeks}")
    else:
        print(f"Wartość {wartosc_do_szukania} nie została znaleziona w tablicy.")

    # Wyświetlenie liczb nieparzystych (po jednej liczbie na linii)
    print("\nLiczby nieparzyste:")
    liczba_nieparzystych = tablica.liczba_nieparzystych()
    print(f"Liczba nieparzystych liczb w tablicy: {liczba_nieparzystych}")

    # Obliczenie średniej
    srednia = tablica.srednia()
    print(f"Średnia arytmetyczna elementów tablicy: {srednia:.2f}")