Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 05.10.2019
Сообщений: 14

Не корректно работает условие

09.10.2019, 11:36. Показов 1501. Ответов 2

Студворк — интернет-сервис помощи студентам
Есть такой код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
count = 0
sql = '''INSERT INTO items (res_id, log_id, link, title, content, n_date, nd_date, s_date, not_date) VALUES'''
    for resource_link in resources_links:
        try:
            exist_link = parser.check_exist_link(resource_link)
            if exist_link is not True:
                goose_date = parser.get_goose_date(resource_link)
                time_now = parser.get_time_now()
                if goose_date is not None:
                    #if goose_date <= time_now:
                    date_parsed = parser.get_converted_date(goose_date)
                    nd_date = parser.get_nd_date(date_parsed)
                    not_date = parser.get_not_date(date_parsed)
                    n_date = parser.get_n_date()
                    s_date = parser.get_s_date()
                    log_id = parser.get_log_id()
 
                    item_title = parser.get_item_title(resource_link)
                    item_content = parser.get_item_content(resource_link)
 
                    if item_title != '' and item_content != '':
                        count+=1
                        sql +=  ''',('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')''' % (
                         res_id,
                         log_id,
                         str(resource_link),
                         str(item_title),
                         str(item_content),
                         str(n_date),
                         nd_date,
                         s_date,
                         not_date)
                        sql = sql.replace('VALUES,', 'VALUES')
                        if count == 100:
                            huge_insert = parser.huge_insert_db(sql)
                            sql = ''
                            count = 0
                            print('Запись 100 новостей произведена!')
                    else:
                        print('Нету заголовка или котента.')
                else:
                    print('Гусь не нашел дату.')
            else:
                print('Новость уже есть в базе.')
        except Exception as e:
            print(f'Ошибка: {str(e)}')
Я создал инт переменную и увеличивал на единицу после каждого дополненного запроса.
Как только она равно 100 - я делаю вставку и обнуляю переменную.Но почему в БД записывается последний ресурс а не все 10.Почему так ? Помогите разобраться пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2019, 11:36
Ответы с готовыми решениями:

Не корректно работает условие While
Напечатать значения функции y=ln(x+1/x),где значения x вводятся с клавиатуры. При вводе числа, не входящего в область определения функции,...

Условие макроса сравнение дат и времени работает не корректно.Как это исправить?
Sub Макрос_1() For i = 5 To Sheets(&quot;Ввод Данных&quot;).Range(&quot;A&quot; &amp; Rows.Count).End(xlUp).Row If Sheets(&quot;Ввод...

корректно ли условие
найти произведение требуется, а почему формула суммы?

2
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
09.10.2019, 14:35
Лучший ответ Сообщение было отмечено yong_and_smart как решение

Решение

yong_and_smart, Как минимум то что вы скинули не может работать, какой то вырезанный кусок с нарушениями pep-8 и форматированием, вы создавали тему на счет составления запроса sql, который встречается тут и на это больно смотреть, вы после первой итерации затираете запрос, и посылаете не команду, а просто перечень переменных.

Добавлено через 10 минут
yong_and_smart,

Python
1
2
3
4
5
6
7
8
# -*- coding: utf-8 -*-
 
def form_insert_into(table_name:str, **kwargs):
    keys, values = kwargs.keys(), list(map(str, kwargs.values()))
    return f"INSERT INTO {table_name} {tuple(keys)} VALUES {tuple(values)}"
 
sql = form_insert_into("items", res_id=0, log_id=1, link="2",
    title="3", content="4", n_date="5", nd_date="6", s_date="7", not_date="8")
Добавлено через 1 минуту
Встройте себе эту функцию вместо 23-33 строк.
0
0 / 0 / 0
Регистрация: 05.10.2019
Сообщений: 14
10.10.2019, 07:36  [ТС]
Цитата Сообщение от DmFat Посмотреть сообщение
yong_and_smart, Как минимум то что вы скинули не может работать, какой то вырезанный кусок с нарушениями pep-8 и форматированием, вы создавали тему на счет составления запроса sql, который встречается тут и на это больно смотреть, вы после первой итерации затираете запрос, и посылаете не команду, а просто перечень переменных.
понял ! благодарю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.10.2019, 07:36
Помогаю со студенческими работами здесь

Корректно ли записано условие?
Корректно ли записано условие? Даны x, E. Вычислите с точностью E: z=1=((x^2)/2!)-((x^4)/4!)+((x^6)/6!)-...

Корректно ли такое условие задачи?
Есть условие задачи: «Определите количество перемен знаков элементов массива» Казалось бы, все просто, считается элементарно. Но...

Корректно ли такое условие задачи?
После заполнения массива с помощью генератора случайных чисел &quot;сдвиньте&quot; звездочки по столбцам вниз и распечатайте полученное ...

Условие Если, не могу корректно написать код
Добрый день! Есть два поля информация в которые должна записываться в зависимости от результата двух других полей. Есть поля...

Условие if (условие1 || условие 2) не работает а по отдельности работатет
Добрый день Наверняка я туплю но тем не менее задачу не могу решить))) if (file.type!= &quot;image/jpeg&quot; || file.type!=...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru