Kasutamine

# Algandmed / Исходные данные
kasutajad = ["Mati", "Kati", "Juku", "Mari", "Airi"]
vanused = [25, 32, 18, 45, 27]

def kasutajate_haldus(kasutajad, vanused):
    """Peamine menüüfunktsioon / Основная функция меню"""
    print("\nKasutajad ja nende vanused:")  # Пользователи и их возрасты
    for i in range(len(kasutajad)):
        print(f"{kasutajad[i]} - {vanused[i]} a")  # лет

    # Menüü valikud / Пункты меню
    print("\nFunktsioonid:")  # Функции
    print("Keskmine vanus - k")  # Средний возраст
    print("Minimaalne vanus - min")  # Минимальный возраст
    print("Maksimaalne vanus - max")  # Максимальный возраст
    print("Otsi nime järgi - nimi")  # Поиск по имени
    print("Sorteeri vanuse järgi - sort")  # Сортировка по возрасту
    print("Kustuta kasutaja - del")  # Удалить пользователя
    print("Lisa uus kasutaja - add")  # Добавить нового пользователя
    print("Top vanimad kasutajad - top")  # Топ самых старших пользователей

    valik = input("Valik -> ")  # Выбор ->

    if valik == "k":
        print("Keskmine vanus:", round(keskmine(vanused), 2), "a")
    elif valik == "min":
        v, nimi = minimum(vanused, kasutajad)
        print(f"Minimaalne vanus on {v} a, kuulub kasutajale {nimi}")
    elif valik == "max":
        v, nimi = maksimum(vanused, kasutajad)
        print(f"Maksimaalne vanus on {v} a, kuulub kasutajale {nimi}")
    elif valik == "nimi":
        nimi_ots, vanused_ots = otsi_nime_jargi(kasutajad, vanused)
        for i in range(len(nimi_ots)):
            print(f"{nimi_ots[i]} - {vanused_ots[i]} a")
    elif valik == "sort":
        vanused, kasutajad = sorteeri_vanuse_jargi(vanused, kasutajad)
        print("Sorteeritud nimekiri:")  # Отсортированный список
        for i in range(len(kasutajad)):
            print(f"{kasutajad[i]} - {vanused[i]} a")
    elif valik == "del":
        vanused, kasutajad = kustuta_kasutaja(vanused, kasutajad)
    elif valik == "add":
        vanused, kasutajad = lisa_kasutaja(vanused, kasutajad)
    elif valik == "top":
        top_vanused(kasutajad, vanused)

def keskmine(vanused):
    """Arvutab keskmise vanuse / Вычисляет средний возраст"""
    return sum(vanused)/len(vanused)

def maksimum(vanused, kasutajad):
    """Leiab maksimaalse vanuse ja kasutaja / Находит максимальный возраст и пользователя"""
    max_vanus = max(vanused)
    i = vanused.index(max_vanus)
    return max_vanus, kasutajad[i]

def minimum(vanused, kasutajad):
    """Leiab minimaalse vanuse ja kasutaja / Находит минимальный возраст и пользователя"""
    min_vanus = min(vanused)
    i = vanused.index(min_vanus)
    return min_vanus, kasutajad[i]

def otsi_nime_jargi(kasutajad, vanused):
    """Otsib kasutajat nime järgi / Ищет пользователя по имени"""
    nimi = input("Sisesta otsitav nimi: ")  # Введите имя для поиска
    tulemus_nimed = []  # Результаты (имена)
    tulemus_vanused = []  # Результаты (возрасты)
    for i in range(len(kasutajad)):
        if kasutajad[i] == nimi:
            tulemus_nimed.append(kasutajad[i])
            tulemus_vanused.append(vanused[i])
    return tulemus_nimed, tulemus_vanused

def sorteeri_vanuse_jargi(vanused, kasutajad):
    """Sorteerib kasutajad vanuse järgi / Сортирует пользователей по возрасту"""
    for i in range(len(vanused)):
        for j in range(i+1, len(vanused)):
            if vanused[i] > vanused[j]:
                vanused[i], vanused[j] = vanused[j], vanused[i]
                kasutajad[i], kasutajad[j] = kasutajad[j], kasutajad[i]
    return vanused, kasutajad

def kustuta_kasutaja(vanused, kasutajad):
    """Kustutab kasutaja nimekirjast / Удаляет пользователя из списка"""
    nimi = input("Sisesta kustutatava kasutaja nimi: ")  # Введите имя пользователя для удаления
    i = 0
    while i < len(kasutajad):
        if kasutajad[i] == nimi:
            kasutajad.pop(i)
            vanused.pop(i)
        else:
            i += 1
    return vanused, kasutajad

def lisa_kasutaja(vanused, kasutajad):
    """Lisab uue kasutaja / Добавляет нового пользователя"""
    nimi = input("Sisesta uue kasutaja nimi: ")  # Введите имя нового пользователя
    vanus = int(input("Sisesta vanus: "))  # Введите возраст
    kasutajad.append(nimi)
    vanused.append(vanus)
    return vanused, kasutajad

def top_vanused(kasutajad, vanused):
    """Näitab vanimaid kasutajaid / Показывает самых старших пользователей"""
    vanused, kasutajad = sorteeri_vanuse_jargi(vanused, kasutajad)
    kasutajad.reverse()
    vanused.reverse()
    mitu = int(input("Mitu vanimat näidata? "))  # Сколько самых старших показать?
    print(f"\nTop {mitu} vanimat kasutajat:")  # Топ N самых старших пользователей
    for i in range(min(mitu, len(kasutajad))):
        print(f"{kasutajad[i]} - {vanused[i]} a")

# Põhiprogramm / Основная программа
while True:
    kasutajate_haldus(kasutajad, vanused)