# База данных для хранения заявок
requests = []
def add_request():
num = input("Введите уникальный номер заявки: ")
# Проверка на уникальность номера заявки
for req in requests:
if req['num'] == num:
print("Ошибка: номер заявки не должен повторяться!")
return
name = input("Введите ФИО клиента: ")
tech_type = input("Введите тип техники: ")
problem = input("Введите описание проблемы: ")
status = "новая" # Начальный статус по умолчанию
try:
cost = float(input("Введите стоимость ремонта: "))
if cost < 0:
print("Ошибка: стоимость не может быть отрицательной!")
return
except ValueError:
print("Ошибка: стоимость должна быть числом!")
return
# Сохраняем данные в виде словаря
requests.append({
'num': num, 'name': name, 'type': tech_type,
'problem': problem, 'status': status, 'cost': cost
})
print("Заявка успешно добавлена!")
def show_all_requests():
# Если заявок нет, программа выводит сообщение
if not requests:
print("Заявок нет.")
return
for req in requests:
print(f"№ {req['num']} | Клиент: {req['name']} | Техника: {req['type']} | Проблема: {req['problem']} | Статус: {req['status']} | Стоимость: {req['cost']}")
def find_request():
num = input("Введите номер заявки для поиска: ")
for req in requests:
if req['num'] == num:
print(f"Найдено -> № {req['num']}, Клиент: {req['name']}, Статус: {req['status']}, Стоимость: {req['cost']}")
return
print("Заявка с таким номером не найдена.")
def change_status():
num = input("Введите номер заявки для изменения статуса: ")
for req in requests:
if req['num'] == num:
print("Доступные статусы: новая, в работе, готово")
new_status = input("Введите новый статус: ")
if new_status in ["новая", "в работе", "готово"]:
req['status'] = new_status
print("Статус успешно изменен.")
else:
print("Ошибка: неверный статус.")
return
print("Заявка не найдена.")
def delete_request():
num = input("Введите номер заявки для удаления: ")
for req in requests:
if req['num'] == num:
requests.remove(req)
print("Заявка успешно удалена.")
return
print("Заявка не найдена.")
def show_status_counts():
counts = {"новая": 0, "в работе": 0, "готово": 0}
for req in requests:
if req['status'] in counts:
counts[req['status']] += 1
print(f"Новая: {counts['новая']}, В работе: {counts['в работе']}, Готово: {counts['готово']}")
def main():
while True:
print("\n--- Меню учета заявок ---")
print("1. Добавить заявку")
print("2. Показать все заявки")
print("3. Найти заявку по номеру")
print("4. Изменить статус заявки")
print("5. Удалить заявку")
print("6. Показать количество заявок по статусам")
print("7. Выйти из программы")
choice = input("Выберите действие: ")
if choice == '1': add_request()
elif choice == '2': show_all_requests()
elif choice == '3': find_request()
elif choice == '4': change_status()
elif choice == '5': delete_request()
elif choice == '6': show_status_counts()
elif choice == '7': break
else: print("Неверный ввод, попробуйте снова.")
# Запуск программы
main()