Вопрос задан 25.09.2023 в 21:39. Предмет Информатика. Спрашивает Евдокимов Ваня.

Вот мой код, всё работает норм нужна помощь с написание последнего пункта Создать 2 таблицы в

Базе Данных Одна будет хранить текстовые данные(1 колонка) Другая числовые(1 колонка) Есть список, состоящий из чисел и слов. Если элемент списка слово, записать его в соответствующую таблицу, затем посчитать длину слова и записать её в числовую таблицу Если элемент списка число: проверить, если число чётное записать его в таблицу чисел, если нечётное, то записать во вторую таблицу слово: «нечётное» Если число записей во второй таблице больше 5, то удалить 1 запись в первой таблице. Если меньше, то обновить 1 запись в первой таблице на «hello» import sqlite3 import random conn = sqlite3.connect('dz_3.db') cursor = conn.cursor() cursor.execute('''CREATE TABLE IF NOT EXISTS tab_1(id INTEGER PRIMARY KEY AUTOINCREMENT, col_1 TEXT)''') cursor.execute('''CREATE TABLE IF NOT EXISTS tab_2(id INTEGER PRIMARY KEY AUTOINCREMENT, col_1 INTEGER)''') conn.commit() Rainbow = [ 'black', 'red', 5, 7, 9, 4] print(Rainbow) dlin = 0 for i in Rainbow: if type(i) is str: cursor.execute('''INSERT INTO tab_1(col_1) VALUES (?)''', [i]) conn.commit() elif i % 2: cursor.execute('''INSERT INTO tab_2 (col_1) VALUES ('нечётное')''') conn.commit() k = cursor.fetchall() print(k) cursor.execute('SELECT COUNT(*) FROM `tab_2`') cursor.execute('SELECT COUNT(*) FROM `tab_1`') result_tab_1 = cursor.fetchall() result_tab_2 = cursor.fetchall() print(result_tab_1) print(result_tab_2)
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Красиков Даня.

Ответ:

да мне тоже нужно такой приложении ововллсььпдв

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для выполнения последнего пункта вашей задачи, вам нужно добавить проверку и выполнение действий в зависимости от количества записей во второй таблице (tab_2). Если количество записей больше 5, то нужно удалить одну запись из первой таблицы (tab_1), а если меньше или равно 5, то обновить одну из записей в первой таблице значением "hello".

Вот как можно это реализовать:

python
import sqlite3 import random conn = sqlite3.connect('dz_3.db') cursor = conn.cursor() cursor.execute('''CREATE TABLE IF NOT EXISTS tab_1(id INTEGER PRIMARY KEY AUTOINCREMENT, col_1 TEXT)''') cursor.execute('''CREATE TABLE IF NOT EXISTS tab_2(id INTEGER PRIMARY KEY AUTOINCREMENT, col_1 INTEGER)''') conn.commit() Rainbow = [ 'black', 'red', 5, 7, 9, 4 ] print(Rainbow) for i in Rainbow: if type(i) is str: cursor.execute('''INSERT INTO tab_1(col_1) VALUES (?)''', [i]) conn.commit() elif i % 2: cursor.execute('''INSERT INTO tab_2 (col_1) VALUES ('нечётное')''') conn.commit() # Проверяем количество записей в таблице tab_2 cursor.execute('SELECT COUNT(*) FROM `tab_2`') result_tab_2 = cursor.fetchone()[0] if result_tab_2 > 5: # Если количество записей в таблице tab_2 больше 5, то удаляем одну запись из таблицы tab_1 cursor.execute('DELETE FROM tab_1 WHERE id IN (SELECT id FROM tab_1 LIMIT 1)') conn.commit() else: # Если количество записей в таблице tab_2 меньше или равно 5, то обновляем одну запись в таблице tab_1 cursor.execute('UPDATE tab_1 SET col_1 = "hello" WHERE id = (SELECT id FROM tab_1 LIMIT 1)') conn.commit() # Проверяем результаты cursor.execute('SELECT * FROM tab_1') result_tab_1 = cursor.fetchall() print(result_tab_1) cursor.execute('SELECT * FROM tab_2') result_tab_2 = cursor.fetchall() print(result_tab_2) conn.close()

Этот код добавляет записи в соответствующие таблицы, затем проверяет количество записей в tab_2 и выполняет соответствующие действия в зависимости от этого количества.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос