JustCaptain kod-buduschego
llm/intern-0a6a46
Перейти к файлу
Код
task_3.py
"""
Задача 3. Система выдачи билетов
Предметная область. В банке электронная очередь.
Каждый посетитель получает номер.
Система должна выдавать номера:
A1
A2
A3
A4
...

⸻

Условие:
Создайте генератор: ticket_generator()

Пример:
tickets = ticket_generator()
print(next(tickets))
print(next(tickets))
print(next(tickets))

Результат:
A1
A2
A3

Что тренируется

- сохранение состояния генератора
- понимание, что функция не перезапускается

Усложнение

После A999 должен идти:

B1

"""

from typing import Generator


def ticket_generator() -> Generator:
    ticket_id: int = 1
    ticket_category_id: int = 1
    ticket_categorys: dict[int, str] = {1: "A", 2: "B", 3: "C", 4: "D"}
    while True:
        yield "{}{}".format(ticket_categorys[ticket_category_id], ticket_id)
        if ticket_id == 999:
            ticket_category_id += 1
            ticket_id = 1
        else:
            ticket_id += 1


tickes: Generator = ticket_generator()

print(next(tickes))
print(next(tickes))

for ticket in tickes:
    print(ticket)