Напиши код, чтобы приложение ‘Список сотрудников компании’, которое хранит следующую информацию: ФИО, номер телефона и адрес электронной почты, заработная плата. Данные хранятся в базе данных. В приложении должны быть реализован следующий функционал: добавление нового сотрудника, изменение текущего сотрудника, удаление сотрудника, поиск по ФИО.
python
import sqlite3
# Установка соединения с базой данных
conn = sqlite3.connect('employees.db')
c = conn.cursor()
# Создание таблицы
c.execute('''CREATE TABLE IF NOT EXISTS employees
(id INTEGER PRIMARY KEY AUTOINCREMENT,
full_name TEXT NOT NULL,
phone_number TEXT NOT NULL,
email TEXT NOT NULL,
salary REAL NOT NULL)''')
# Сохранение изменений и закрытие соединения
conn.commit()
conn.close()
Шаг 2: Реализация функционала добавления нового сотрудника
Для добавления нового сотрудника необходимо запросить у пользователя информацию о его ФИО, номере телефона, адресе электронной почты и заработной плате и добавить эту информацию в базу данных.
python
import sqlite3
def add_employee():
# Ввод информации о сотруднике
full_name = input("Введите ФИО сотрудника: ")
phone_number = input("Введите номер телефона сотрудника: ")
email = input("Введите адрес электронной почты сотрудника: ")
salary = float(input("Введите заработную плату сотрудника: "))
# Установка соединения с базой данных
conn = sqlite3.connect('employees.db')
c = conn.cursor()
# Вставка новой записи в таблицу
c.execute("INSERT INTO employees (full_name, phone_number, email, salary) VALUES (?,?,?,?)",
(full_name, phone_number, email, salary))
# Сохранение изменений и закрытие соединения
conn.commit()
conn.close()
Шаг 3: Реализация функционала изменения текущего сотрудника
Для изменения информации о текущем сотруднике необходимо запросить у пользователя новую информацию и обновить запись в базе данных.
python
import sqlite3
def update_employee():
# Ввод информации о сотруднике
full_name = input("Введите ФИО сотрудника: ")
# Установка соединения с базой данных
conn = sqlite3.connect('employees.db')
c = conn.cursor()
# Поиск сотрудника по ФИО
c.execute("SELECT * FROM employees WHERE full_name=?", (full_name,))
employee = c.fetchone()
if employee:
phone_number = input("Введите новый номер телефона сотрудника: ")
email = input("Введите новый адрес электронной почты сотрудника: ")
salary = float(input("Введите новую заработную плату сотрудника: "))
# Обновление записи в таблице
c.execute("UPDATE employees SET phone_number=?, email=?, salary=? WHERE id=?",
(phone_number, email, salary, employee[0]))
print("Информация о сотруднике обновлена")
else:
print("Сотрудник не найден")
# Сохранение изменений и закрытие соединения
conn.commit()
conn.close()
Шаг 4: Реализация функционала удаления сотрудника
Для удаления сотрудника необходимо запросить у пользователя его ФИО и удалить соответствующую запись в базе данных.
python
import sqlite3
def delete_employee():
# Ввод информации о сотруднике
full_name = input("Введите ФИО сотрудника: ")
# Установка соединения с базой данных
conn = sqlite3.connect('employees.db')
c = conn.cursor()
# Поиск сотрудника по ФИО
c.execute("SELECT * FROM employees WHERE full_name=?", (full_name,))
employee = c.fetchone()
if employee:
# Удаление записи из таблицы
c.execute("DELETE FROM employees WHERE id=?", (employee[0],))
print("Сотрудник удален")
else:
print("Сотрудник не найден")
# Сохранение изменений и закрытие соединения
conn.commit()
conn.close()
Шаг 5: Реализация функционала поиска по ФИО
Для поиска сотрудника по его ФИО необходимо запросить ФИО у пользователя и выполнить соответствующий запрос в базе данных.
python
import sqlite3
def search_employee():
# Ввод информации о сотруднике
full_name = input("Введите ФИО сотрудника: ")
# Установка соединения с базой данных
conn = sqlite3.connect('employees.db')
c = conn.cursor()
# Поиск сотрудника по ФИО
c.execute("SELECT * FROM employees WHERE full_name=?", (full_name,))
employee = c.fetchone()
if employee:
print("Имя: ", employee[1])
print("Номер телефона: ", employee[2])
print("Адрес электронной почты: ", employee[3])
print("Заработная плата: ", employee[4])
else:
print("Сотрудник не найден")
# Закрытие соединения
conn.close()
Шаг 6: Главное меню приложения
Для удобного использования функционала приложения, можно добавить главное меню с возможностью выбора нужной операции.
python
def main():
while True:
print("1. Добавить сотрудника")
print("2. Изменить информацию о сотруднике")
print("3. Удалить сотрудника")
print("4. Поиск по ФИО")
print("0. Выход")
choice = int(input("Выберите действие: "))
if choice == 1:
add_employee()
elif choice == 2:
update_employee()
elif choice == 3:
delete_employee()
elif choice == 4:
search_employee()
elif choice == 0:
break
else:
print("Неверный выбор. Попробуйте снова.")
if __name__ == '__main__':
main()
В результате, мы создали приложение, которое позволяет добавлять новых сотрудников, изменять информацию о текущих сотрудниках, удалять сотрудников и выполнять поиск по ФИО. Информация о сотрудниках хранится в базе данных SQLite.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет