Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 13.02.2023
Сообщений: 59
Telegram Bot

Почему бот не игнорирует функцию?

14.08.2023, 22:57. Показов 2346. Ответов 41

Студворк — интернет-сервис помощи студентам
Бот управляет двумя таблицами: users и bans. При получении комментария в чате, бот записывает id комментатора в таблицу users и проверяет наличие id комментатора в таблице bans. Если id комментатора есть в таблице bans, бот должен удалить любой его комментарий (забаненного). Но не удаляет и не могу понять почему. Как исправить ошибку?

Файл бота:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@dp.message_handler()
async def check_database(message: types.Message):
    if not db.user_exists(message.from_user.id):
        db.add_user(message.from_user.id, message.from_user.first_name)
        await mess_handler(message)
 
async def check_bans(message: types.Message):
    if db.user_bans(message.from_user.id):
        await message.delete()
 
async def mess_handler(message: types.Message):
    text = message.text.lower()
    if str(message.from_user.id) != cfg.ADMIN_ID:
        for word in cfg.WORDS:
            if word in text:
                await message.delete()
Файл db

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Database:
    def __init__(self, db_file):
        self.connection = sqlite3.connect(db_file)
        self.cursor = self.connection.cursor()
 
    def user_exists(self, user_id):
        with self.connection:
            result = self.cursor.execute("SELECT * FROM 'users' WHERE 'user_id' = ?", (user_id,)).fetchall()
            return bool(len(result))
 
    def user_bans(self, user_id):
        with self.connection:
            result1 = self.cursor.execute("SELECT * FROM 'bans' WHERE 'user_id' = ?", (user_id,)).fetchall()
            return bool(len(result1))
Добавлено через 2 часа 35 минут


В таблице users и bans есть тестовый комментатор. Код с принтами выглядит так:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@dp.message_handler()
async def check_database(message: types.Message):
    if not db.user_exists(message.from_user.id):
        db.add_user(message.from_user.id, message.from_user.first_name)
        await mess_handler(message)
        print(message.from_user.id) #выводит id забаненного комментатора
 
async def check_bans(message: types.Message):
    if db.user_bans(message.from_user.id):
        print(message.from_user.id) #ничего не выводит
        await message.delete()
        print(message.from_user.id) #ничего не выводит
 
async def mess_handler(message: types.Message):
    text = message.text.lower()
    print(message.from_user.id) #выводит id забаненного комментатора
    if str(message.from_user.id) != cfg.ADMIN_ID:
        for word in cfg.WORDS:
            if word in text:
                await message.delete()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.08.2023, 22:57
Ответы с готовыми решениями:

Почему после выполнения функции 1, бот останавливается и не вызывает функцию 2
При запуске локально на PyCharm, бот добавляет данные в БД SQLite3 и модерирует комментарии к публикации. Но, после загрузки на VPS,...

Бот игнорирует комманду /start у некоторых пользователей
Всем привет! Столкнулся с проблемой в работе бота: у некоторых пользователей нету никакого ответа на комманду /start. При этом бот...

Discord Бот игнорирует команды
Добрый день, я хочу написать бота для сервера кое-какого. Но когда я ввожу команды на сервере, бот ничего не делает. Код Program.cs: ...

41
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,698
Записей в блоге: 29
21.08.2023, 13:24
Студворк — интернет-сервис помощи студентам
и попробуй ка убрать все апострофы лишние в запросах, чет я в примерах скулайта их не вижу, например
Python
1
2
res = cur.execute("SELECT name FROM sqlite_master WHERE name='spam'")
res.fetchone() is None
0
0 / 0 / 0
Регистрация: 13.02.2023
Сообщений: 59
21.08.2023, 13:25  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
ага, ага, то есть если не вставило то мы никак этого не узнаем? интересное решение
Исключение потому, что при повторном комментировании пользователем, который уже есть в users, выбрасывал ошибку. Это от повторной записи.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,698
Записей в блоге: 29
21.08.2023, 13:26
Цитата Сообщение от Stepper Посмотреть сообщение
Не понял, что имеешь в виду
уже не важно, почему названия таблиц и полей в апострофах? почему делаешь иксепт пасс?

Добавлено через 44 секунды
Цитата Сообщение от Stepper Посмотреть сообщение
Исключение потому, что при повторном комментировании пользователем, который уже есть в users, выбрасывал ошибку. Это от повторной записи.
но ты не знаешь что там упало, может совсем другая проблема, от повторной записи надо просто проверять наличие в таблице такой записи.
0
0 / 0 / 0
Регистрация: 13.02.2023
Сообщений: 59
21.08.2023, 13:29  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
и попробуй ка убрать все апострофы лишние в запросах, чет я в примерах скулайта их не вижу, например
А смысл? Функции в db.py одинаковы, первая работает нормально
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,698
Записей в блоге: 29
21.08.2023, 13:31
содержимое то обеих таблиц покажи, посомтреть что там реально есть что-то

Добавлено через 1 минуту
Цитата Сообщение от Stepper Посмотреть сообщение
первая работает нормально
вот видишь, ты опять знаешь все ответы и не хочешь ничего читать и делать. ТОчно первая нормальная? я как раз и прошу тебя в первую функцию подать юзера который точно есть в таблице юзерс и посмотреть каков будет вывод.
0
 Аватар для kazak
3605 / 2745 / 356
Регистрация: 11.03.2009
Сообщений: 6,313
21.08.2023, 15:06
Цитата Сообщение от Stepper Посмотреть сообщение
А смысл? Функции в db.py одинаковы, первая работает нормально
Смысл в том, что когда нужно указать БД, что некоторый набор символов в запросе является именем поля/таблицы/базы данных, набор символов обрамляется обратными одинарными кавычками `(на клавиатуре обычно это клавиша тильды/руссокй Ё). Текст в обычных одинарных кавычках является строковым литералом, и если в болке from бд еще может догадаться текст в одинарных кавычках трактовать как имя таблицы, то в where это сделать затруднительно, поэтому
SQL
1
2
`имя поляаблицы`
'строка'
0
0 / 0 / 0
Регистрация: 13.02.2023
Сообщений: 59
21.08.2023, 17:43  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
содержимое то обеих таблиц покажи, посомтреть что там реально есть что-то
В users:
108****62 Group - это модератор
377****61 Ant - это тестовый пользователь

В bans:
377****61 Ant - это тестовый пользователь

Если добавляем комментарий от имени Group, в консоли:

start check_database
inside if check_database
call bans inside if check_database
start check_bans
if fails in check bans
<class 'int'>
108****24

Если добавляю комментарий от имени Ant, в консоли:

start check_database
inside if check_database
call bans inside if check_database
start check_bans
if fails in check bans
<class 'int'>
377****61

Если убрать апострофы в db.py и запустить код:

Python
1
2
3
4
5
6
7
8
9
   def user_exists(self, user_id):
        with self.connection:
            result = self.cursor.execute("SELECT * FROM users WHERE user_id = ?", (user_id,)).fetchall()
            return bool(len(result))
 
    def user_bans(self, user_id):
        with self.connection:
            res_bans = self.cursor.execute("SELECT * FROM bans WHERE user_id = ?", (user_id,)).fetchall()
            return bool(len(res_bans))
То в консоль выводится только одна строка для любого пользователя:

start check_database
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,698
Записей в блоге: 29
21.08.2023, 18:08
Цитата Сообщение от Stepper Посмотреть сообщение
Если добавляем комментарий от имени Group, в консоли:
start check_database
inside if check_database
но ведь это не верно? у тебя юзер Груп УЖЕ в бд, как же он попадает внутрь условия if not db.user_exists(message.from_user.id): ? или это ты делаешь в первый раз? тогда сделай во второй. Наша цель увидеть что произойдет когда юзер уже есть в таблице юзерс.
0
0 / 0 / 0
Регистрация: 13.02.2023
Сообщений: 59
21.08.2023, 21:29  [ТС]
Я очистил обе таблицы, затем написал коммент от имени Group и Ant. Оба этих пользователя записались в users.
При повторных комментариях от этих пользователей записи в users не обновляются.
Затем я вручную добавляю Ant в bans и пишу коммент от имени Ant, но его комментарий не удаляется.

Добавлено через 3 часа 8 минут
Цитата Сообщение от Welemir1 Посмотреть сообщение
Наша цель увидеть что произойдет когда юзер уже есть в таблице юзерс.
Вот что происходит, причем этот юзер есть в обеих таблицах:

start check_database
inside if check_database
call bans inside if check_database
start check_bans
if fails in check bans
<class 'int'>
377****61
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,698
Записей в блоге: 29
21.08.2023, 21:55
Цитата Сообщение от Stepper Посмотреть сообщение
Вот что происходит, причем этот юзер есть в обеих таблицах:
start check_database
inside if check_database
call bans inside if check_database
start check_bans
if fails in check bans
<class 'int'>
377****61
а теперь подумай и ответь мне - условие работает верно? ты просто выше утверждал, что первое условие верное, что оно работает. Теперь когда ты видишь что внутрь условия мы заходим ДАЖЕ когда юзер точно есть в юзерс, что скажешь? Напомню, условие звучит так
if not db.user_exists(message.from_user.id): - я читаю это так "если пользователя НЕТ в таблице юзерс то..."
как же мы туда проваливаемся, в это условие, если юзер там есть?

Добавлено через 36 секунд
то есть оба условия не работают, прочти коммент от казака, возможно это поможет.
0
0 / 0 / 0
Регистрация: 13.02.2023
Сообщений: 59
22.08.2023, 08:06  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
то есть оба условия не работают, прочти коммент от казака, возможно это поможет.
А возможно и не поможет. Ты можешь выложить готовый код, с исправленной ошибкой?
Или у тебя не получается исправить?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,698
Записей в блоге: 29
22.08.2023, 08:34
Stepper, ты настолько далек от программирования? как я тебе исправленный выложу, если у меня нет ни бд твоей, ни бота? ты предлагаешь мне установить библиотеки, создать БД, написать вот такие же корутины? Нет, у меня нет на это времени, за тебя тут делать не будут, только помочь советом и подсказать. Совет - открыть туториал по скулайту на питоне и немного с бд поковыряться, и написать свои условия так, как в туториале показано. К боту можно и потом вернуться, сначала убедись что умеешь читать из бд и писать в нее.
0
0 / 0 / 0
Регистрация: 13.02.2023
Сообщений: 59
22.08.2023, 11:21  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
ты настолько далек от программирования? как я тебе исправленный выложу, если у меня нет ни бд твоей, ни бота? ты предлагаешь мне установить библиотеки, создать БД, написать вот такие же корутины? Нет, у меня нет на это времени, за тебя тут делать не будут, только помочь советом и подсказать.
Это все демагогия. Если ты не далек от программирования и считаешь себя профи – не надо этой кучи комментариев, выложи исправленный код и укажи на исправление. Спасибо будет не только устным. Пока же твои «советы» завершились фразой «…возможно это поможет.» И не говори за всех, кто и что здесь будет делать.

Весь код выложен в теме, все пояснения с моей стороны даны. Проблема во второй функции. Поэтому дважды тебе написал: не знаешь, как исправить, и не можешь код выложить – вопросов нет.

Без второй функции и без таблицы bans, мой код уже три месяца отлично модерирует федеральный тг-канал с 9 тыс. подписчиками и до 200 комментариев в день. Работает без перебоев и ошибок. Сейчас пытаюсь добавить функцию бана, пока не получается. Но уверен, найдется профи, который без лишних слов реально поможет исправить ошибку.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,698
Записей в блоге: 29
22.08.2023, 13:02
Цитата Сообщение от Stepper Посмотреть сообщение
Без второй функции и без таблицы bans, мой код уже три месяца отлично модерирует федеральный тг-канал с 9 тыс. подписчиками и до 200 комментариев в день. Работает без перебоев и ошибок.
вот только он не работает. Вернее работает так -всегда заходит в первое условие, даже если юзер есть уже в бд, а там тебя спасает ексепт -пасс, ошибки не видно и повторной записи нет, полное ощущение работы)))
Бытсро же ты вырос от человека незнакомого с асинкио до разработчика для "федеральных" каналов тг )))

Цитата Сообщение от Stepper Посмотреть сообщение
не надо этой кучи комментариев, выложи исправленный код и укажи на исправление.
вот только не надо приходить в чужой монастырь со своим уставом, у нас тут своя атмосфера и есть правила форума, не выдумывай свои.

Цитата Сообщение от Stepper Посмотреть сообщение
Пока же твои «советы» завершились фразой «…возможно это поможет.»
нет, ты просто ничего не стал читать, был и совет про туториал по скулайту и было доказательство что твой код НЕ работает как ты думаешь, причем ты сам это доказал выложенными принтами при работе. Но сам же не хочешь проанализировать вывод в консоль.

Итак, мастер-класс, минимальное рабочее решение, беру твои имена и практически твой код, только упрощаю:
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
>>> import sqlite3
>>> con = sqlite3.connect("simple.db")
>>> cur = con.cursor()
>>> cur.execute("CREATE TABLE users(user_id int, name text)").fetchone()  # создаем юзерс
>>> cur.execute("select * from users").fetchall()
[] # все верно, табличка пуста
>>> cur.execute("CREATE TABLE bans(user_id int, name text)").fetchone()  # создаем банс
>>> cur.execute("select * from bans").fetchall()
[] # все верно банс пустой
# пишем аналог твоих функций проверки, только работающий
>>> def user_bans(user_id):
...     result = cur.execute("select * from bans where user_id = ?", (user_id,)).fetchall()
...     return bool(result)
... 
>>> def user_exists(user_id):
...     result = cur.execute("select * from users where user_id = ?", (user_id,)).fetchall()
...     return bool(result)
... 
>>> user_exists(1) # проверяем что нет пока никакиз юзеров
False
>>> user_bans(1) # логично, все таблички пока пустые
False
>>> cur.execute("insert into users values(1, 'Stepper')")  # вставляем в юзерс первого юзера
<sqlite3.Cursor object at 0x1037a2540>
>>> con.commit()
>>> user_exists(1) # проверяем что юзер с ид=1 есть!
True
>>> user_exists(2) # смотрим что юзера с ид=2 нет
False
>>> user_bans(1) # на всякий демонстрирую что банс все еще пуст и функция прекрасно работает
False
>>> user_bans(2) # тут тоже все ок
False
>>> cur.execute("insert into bans values(1, 'Stepper')")  # вставляем в банс
<sqlite3.Cursor object at 0x1037a2540>
>>> con.commit()
>>> user_bans(1) # бинго! и банс тоже прекрасно видит что там есть юзер с ид=1
True
>>> user_bans(2) # а вот юзера с ид=2 нет в банс, верно
False
мой вариант работает, твой -нет. Это первое.
Второе, если используешь асинхронку то и с БД ты должен работать асинхронно, это азы.
1
 Аватар для kazak
3605 / 2745 / 356
Регистрация: 11.03.2009
Сообщений: 6,313
22.08.2023, 13:18
Цитата Сообщение от Stepper Посмотреть сообщение
выложи исправленный код и укажи на исправление
По личному опыту скажу, любовь к готовым решениям начисто отбивает способность мыслить самостоятельно.
Цитата Сообщение от Stepper Посмотреть сообщение
Пока же твои «советы» завершились фразой «…возможно это поможет.»
Первая страница темы
Почему бот не игнорирует функцию?
Цитата Сообщение от Welemir1 Посмотреть сообщение
в 3 строке ты проверяешь что юзера вообще в БД нет, и если нет то добавляешь и вызываешь чек_банс, но КАК юзер может быть в банах, если ты только что выяснил что его нет в БД вообще?
Почему бот не игнорирует функцию?
Цитата Сообщение от Welemir1 Посмотреть сообщение
главный вопрос, ответь на него, не пиши ничего лишнего, не фантазируй, просто ответ - в чем логика начиная с 3 строки, что ты проверяешь что юзера НЕТ в бд, и внутри это условия начинаешь проверять не в бане ли он? то есть юзер может отсутствовать в таблице юзерc, но быть в таблице банс?
Вторая страница
Почему бот не игнорирует функцию?
Цитата Сообщение от Welemir1 Посмотреть сообщение
Наша цель увидеть что произойдет когда юзер уже есть в таблице юзерс.
Почему бот не игнорирует функцию?
Цитата Сообщение от Welemir1 Посмотреть сообщение
Напомню, условие звучит так
if not db.user_exists(message.from_user.id): - я читаю это так "если пользователя НЕТ в таблице юзерс то..."
как же мы туда проваливаемся, в это условие, если юзер там есть?
Может уже всетаки помедитируете на кодом и попытаетесь понять, чего здесь нехватает?
Python
1
2
3
4
5
6
7
8
@dp.message_handler()
async def check_database(message: types.Message):
    print('start check_database')
    if not db.user_exists(message.from_user.id):
        print('inside if check_database')
        db.add_user(message.from_user.id, message.from_user.first_name)
        print('call bans inside if check_database')
        await check_bans(message)
Подсказка:
Цитата Сообщение от Stepper Посмотреть сообщение
Если убрать апострофы в db.py и запустить код:
То в консоль выводится только одна строка для любого пользователя:

start check_database
Вариант с апострофами всегда возвращал False для любых входных данных, без апострофов функции проверки юзера стали работать корректно.
1
0 / 0 / 0
Регистрация: 13.02.2023
Сообщений: 59
22.08.2023, 13:42  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
… вот только он не работает. Вернее работает так -всегда заходит в первое условие, даже если юзер есть уже в бд, а там тебя спасает ексепт -пасс, ошибки не видно и повторной записи нет, полное ощущение работы)))
Да, именно так, ошибку прикрыл исключением и «заработало».

Цитата Сообщение от Welemir1 Посмотреть сообщение
Бытсро же ты вырос от человека незнакомого с асинкио до разработчика для "федеральных" каналов тг )))
Да, не Боги горшки обжигают)))))) Насчет «разработчика «федеральных» каналов тг – это твоя интерпретация, я говорил, что «модерирует такой тг-канал с 9 тыс. подписчиков». А это немного.
И да, простенький код решает простую задачу. Кстати, в основе код взят отсюда: https://www.youtube.com/watch?v=0rvXygewz3A&t=779s

Цитата Сообщение от Welemir1 Посмотреть сообщение
Но сам же не хочешь проанализировать вывод в консоль.
С чего ты взял? Именно хочу проанализировать и понять, но иногда нужен конкретный пример. Не все так просто. Моя студенческая скамья далеко в прошлом, это когда Basic был очень современным, а компьютер Pravetz с ОЗУ 1 Мб и 40 Мб HDD престижной редкостью.

Цитата Сообщение от Welemir1 Посмотреть сообщение
мой вариант работает, твой -нет. Это первое.
Второе, если используешь асинхронку то и с БД ты должен работать асинхронно, это азы
Спасибо, я это учту. Чуть позже попробую код и отпишусь.

Добавлено через 3 минуты
Цитата Сообщение от kazak Посмотреть сообщение
По личному опыту скажу, любовь к готовым решениям начисто отбивает способность мыслить самостоятельно.
Это бесспорно.

Цитата Сообщение от kazak Посмотреть сообщение
Может уже всетаки помедитируете на кодом и попытаетесь понять, чего здесь нехватает?
Обязательно. И доработаю свой вариант до рабочего.

Цитата Сообщение от kazak Посмотреть сообщение
start check_database
Вариант с апострофами всегда возвращал False для любых входных данных, без апострофов функции проверки юзера стали работать корректно.
Я опирался на первоначальный код, который был взят за основу. В нем были кавычки и код работал. Мне надо разобраться с синтаксисом SQL, это верно.
0
0 / 0 / 0
Регистрация: 13.02.2023
Сообщений: 59
23.08.2023, 15:49  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
мой вариант работает, твой -нет.
Да, но это другой код. Возможно, он лучше, но мы говорили об исправлении моего кода и исправление не приведено
0
0 / 0 / 0
Регистрация: 13.02.2023
Сообщений: 59
25.08.2023, 07:33  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
Второе, если используешь асинхронку то и с БД ты должен работать асинхронно, это азы.
И где в твоем рабочем коде асинхронка?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,698
Записей в блоге: 29
25.08.2023, 08:33
Цитата Сообщение от Stepper Посмотреть сообщение
И где в твоем рабочем коде асинхронка?
а где я писал, что она есть в моем коде? я написал что вот тебе рабочее решение, для сравнения со своим, раз уж ты не хочешь подумать над выводом собственного кода. Асинхронка есть в твоем коде, а вызовы БД блокируюшие
0
0 / 0 / 0
Регистрация: 13.02.2023
Сообщений: 59
25.08.2023, 09:45  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
я написал что вот тебе рабочее решение, для сравнения со своим, раз уж ты не хочешь подумать над выводом собственного кода.
Опять демагогия пошла! Ты вроде "близок к программированию", а исправить ошибку не смог, написал другой код
А ведь всю тему распинался, как все знаешь и предлагал то подумать, то почитать. Но сам главного не прочитал, поэтому третий раз тебе пишу: не можешь исправить код, ладно, слив засчитан

Цитата Сообщение от Welemir1 Посмотреть сообщение
Асинхронка есть в твоем коде, а вызовы БД блокируюшие
Цитата Сообщение от Welemir1 Посмотреть сообщение
ты предлагаешь мне установить библиотеки, создать БД, написать вот такие же корутины?
Цитата Сообщение от Welemir1 Посмотреть сообщение
а где я писал, что она есть в моем коде?
Нет, это я предлагал исправить ошибку в асинхронном коде, чтобы ты написал другой неасинхронный код!


Да, болтать - не мешки ворочать (русская народная пословица!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.08.2023, 09:45

Бот игнорирует все команды
import discord from discord.ext import commands bot = commands.Bot(command_prefix='$') @bot.event async def on_ready(): ...

Почему VS игнорирует if ()?
Отрывок кода: int cr = GetRValue(color); int cg = GetGValue(color); int cb = GetBValue(color); if (cr = 152) { if (cg =...

Почему игнорирует класс
* { box-sizing: border-box; } .my_input { background-image: url('/css/searchicon.png'); background-position: 10px 12px; ...

Почему игнорирует блок
переписал Цыкл, вставляю новый почему то блок Footer падает на уровень ниже и блок боди полностью игнорируется! кто нибудь подскажите в чем...

Python почему-то игнорирует условие
contacts = { 'Mother':'87007772620', 'Khakim':'87027030620', 'Father':'87012228708' } print('У вас есть 1...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru