Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3336 posts.

GUI » Довойной поиск в QtTable Widget » Июль 4, 2022 18:08:22

Здравствуйте, начал изучать QT GUI (я новичок в этом вопросе) пытаюсь сделать поиск по двум категориям
в таблице (отмечу, что код работает, но поисковики перебивают друг друга), в принципе, я знаю что поиск надо производить при помощи регулярных выражений, но информации доступным языком я так и не нашел, буду безгранично благодарен за помощь

вот код:

 self.lineEdit.textChanged.connect(self.search)
self.lineEdit_2.textChanged.connect(self.search)
for c in range(0, Col):
            for r in range(0, Row):
                s = self.lineEdit.setText("") and self.lineEdit_2.setText("")
                i =  QtWidgets.QTableWidgetItem(s )
                self.tableWidget.setItem(c, r, i)
           
    def search(self, s):
        items = self.tableWidget.findItems(s, QtCore.Qt.MatchContains)
        if items: 
            self.tableWidget.setCurrentItem(items[0])

Центр помощи » Помогите срочно ребята прошу завтра сдача » Июнь 22, 2022 03:29:04

1. Дана последовательность действительных чисел a1, a2, …, аn. Указать те ее элементы, которые принадлежат отрезку .
2.Даны целые числа a1, a2, …, аn. Наименьший член этой последовательности заменить целой частью среднего арифметического всех членов, остальные члены оставить без изменения. Если в последовательности несколько наименьших членов, то заменить последний по порядку.
молю!
на питоне

Python для новичков » OpenCV » Июнь 19, 2022 00:11:25

Всем привет.

Хочу распознавать и отслеживать на видео с вебки мячик для тенниса, задаю значения HSV, вроде все хорошо, но переходя в другую комнату освещение меняется и мячик уже не так хорошо распознается.

Можно ли как-то сделать универсально ?
На уме только задать два диапазона, для тусклого и яркого освещения, и в зависимости находится ли там круг переключаться между ними, но как это реализовать не знаю ((
Подскажите пожалуйста, как это можно сделать

Если есть какая-нибудь литература на эту тему, скиньте название, буду очень благодарен

Флейм » Octordle game with your brain » Июнь 17, 2022 07:57:20

Are you a fan of games that need to use brains? If you are a person who likes games that are difficult, Not easy to overcome, Then Octerdle game is born for you. It belongs to the top of the most difficult puzzle games. Passing the game is not easy. But are you ready to conquer this game play? Come now

Google App Engine » EA is so fond of them that it chose to put not two quarterbacks  » Июнь 16, 2022 11:14:50


Another possibility EA might think about Madden 22 coins for its cover star is certainly, one of its star players of the team who is trying to defend its championship in the fall. Aaron Donald has somehow never been on the Madden cover before, despite being the very best defensive player of the league for over a decade now. Do you think this is the year? Donald mulled retirement this offseason, which means that the 2022 season may be his last season on the field. It will also be his first in the Madden cover.

Everyone loves a QB. EA is so fond of them that it chose to put not two quarterbacks to the top of the page of Madden 22. Each had already been included on the Madden cover in previous years. For Madden 23 if EA intends to showcase the future of a QB like it has in the past (Brady notwithstanding), Burrow is as the right choice as any other.

With the next installment under development, we're looking ahead to the anticipated Madden 23 launch date.

Between the launch date for Madden 22 coins for sale the standard launchdate, EA Play Trial, and Early Access, there won't only be one Madden 23 release date.

Python для новичков » Нужно решение с группами в ListWidget » Июнь 12, 2022 09:20:36

Привет!
Планирую открывать несколько папок и помещать файлы в QListWidget (поминаю, возможно QTreeView тут предпочтительнее)
В общем, на скорую руку накидал пример
 #-------------------------------------------------------------------------------
# Name:        test label in list
#
# Created:     11.06.2022
# Copyright:   (c) Novator 2022
#-------------------------------------------------------------------------------
import sys
from PyQt5 import QtWidgets, QtCore
class Test(QtWidgets.QWidget):
	def __init__(self, parent=None):
		super().__init__(parent)
		self.lst()
		self.lst.itemClicked.connect(self.check_item_in_books_list)
	def lst(self):
		self.setWindowTitle('Test')
		self.btn_base_1 = QtWidgets.QPushButton("Btn_1")
		self.lst = QtWidgets.QListWidget()
		tops = QtWidgets.QHBoxLayout()
		tops.addWidget(self.btn_base_1)
		main_layout = QtWidgets.QVBoxLayout()
		main_layout.addWidget(self.lst)
		main_layout.addLayout(tops)
		self.setLayout(main_layout)
	@staticmethod
	def check_item_in_books_list(item):
		if item.checkState() == QtCore.Qt.Checked:
			item.setCheckState(QtCore.Qt.Unchecked)
		else:
			item.setCheckState(QtCore.Qt.Checked)
	def fill_lst(self):
		label = QtWidgets.QLabel('TEST LABEL')
		grp = QtWidgets.QListWidgetItem()
		label.setAlignment(QtCore.Qt.AlignCenter)
		label.setEnabled(False)
		self.lst.addItem(grp)
		self.lst.setItemWidget(grp, label)
		for i in range(10):
			item = QtWidgets.QListWidgetItem()
			item.setText(str(i))
			item.setCheckState(QtCore.Qt.Unchecked)
			self.lst.addItem(item)
if __name__ == '__main__':
	app = QtWidgets.QApplication(sys.argv)
	window = Test()
	window.show()
	window.fill_lst()
	sys.exit(app.exec_())
В принципе, так бы устроило, но…
- как запретить чекбокс для надписи?
- при клике на надпись чтобы выделялись все элементы под ней (так сказать, вся группа)
- ну и если в группе нет элементов, чтобы удалилась со списка и сама группа

Центр помощи » Простое число » Июнь 3, 2022 15:47:10

Если задано целое число, создайте функцию, которая возвращает следующее простое число. Если число простое, верните само число.
Пример:
nextPrime(12) ➞ 13

nextPrime(24) ➞ 29

nextPrime(11) ➞ 11
// 11 is a prime, so we return the number itself.

Центр помощи » Функция, которая преобразует строку в звездную стенографию. » Июнь 3, 2022 13:29:08

Напишите функцию, которая преобразует строку в звездную стенографию. Если символ повторяется n раз, преобразуйте его в символ*n.
Пример:
toStarShorthand(“abbccc”) ➞ “ab*2c*3”

toStarShorthand(“77777geff”) ➞ “7*5gef*2”

toStarShorthand(“abc”) ➞ “abc”

toStarShorthand(“”) ➞ “”

Python для новичков » Шахматный ход » Июнь 3, 2022 08:35:19

Создайте функцию, которая принимает имя шахматной фигуры, ее положение и целевую позицию. Функция должна возвращать True, если фигура может двигаться к цели, и False, если она не может этого сделать.
Возможные входные данные - “пешка”, “конь”, “слон”, “Ладья”, “Ферзь” и “ король”.

Пример:
canMove(“Rook”, “A8”, “H8”) ➞ True

canMove(“Bishop”, “A7”, “G1”) ➞ True

canMove(“Queen”, “C4”, “D6”) ➞ False

Python для новичков » Звездная стенография » Июнь 3, 2022 08:33:06

Напишите функцию, которая преобразует строку в звездную стенографию. Если символ повторяется n раз, преобразуйте его в символ*n.
Пример:
toStarShorthand(“abbccc”) ➞ “ab*2c*3”

toStarShorthand(“77777geff”) ➞ “7*5gef*2”

toStarShorthand(“abc”) ➞ “abc”

toStarShorthand(“”) ➞ “”

Python для новичков » сумма чисел главной диагонали матрицы » Июнь 1, 2022 10:33:44

Привет, помогите решить задачу.
Нужно найти сумму чисел главной диагонали матрицы, код я написал, в Pycharm все работает как положено, все считает, но при попытке сдать задачу (онлайн курс, там автоматическая система проверки), выдает ошибку в этой строке
 matrix[i][j] = int(input()).split()
ошибка такого вида ValueError: invalid literal for int() with base 10: ‘1 2 3’
не пойму как исправить, я понимаю что тип входных данных не соответствует, уже все перепробовал никак не могу разобраться.
вот код:
 # задаем размерность, пустой список и счетчик для матрицы
rows = int(input())
matrix = []
count = 0
# создаем вложенный список для будущей матрицы заполненный нулями
for _ in range(rows):
    matrix.append([0] * rows)
# заполняем матрицу произвольными значениями и сразу вычисляем сумму чисел главной диагонали
for i in range(rows):
    for j in range(rows):
        matrix[i][j] = int(input())
        if (i == j):                       # это индексы элементов, а не значения
            count += matrix[i][j]   # а здесь уже значения соответствующие этим индексам
# выводим матрицу на экран
for r in range(rows):
    for c in range(rows):
        print(str(matrix[r][c]).rjust(3), end=' ')
    print()
# принтуем сумму чисел главной диагонали
print(count)

Центр помощи » Срочно нужна помощь, добрые люди. В универе задали задачи, которые никак не могу решить, время куда-то улетает. » Май 31, 2022 17:22:47

1) Задана квадратная матрица. Переставить строку с максимальным элементом на главной диагонали со строкой с заданным номером m.
2) Составить программу, которая заполняет квадратную матрицу порядка п натуральными числами 1, 2, 3, …, n2, записывая их в нее «по спирали».
3) Составить программу для нахождения чисел из интервала , имеющих наибольшее количество делителей.
4) Четыре точки заданы своими координатами X(x1, x2), Y(y1, y2), Z(z1, z2), P(p1, p2). Выяснить, какие из них находятся на максимальном расстоянии друг от друга и вывести на экран значение этого расстояния. Вычисление расстояния между двумя точками оформить в виде процедуры.

Буду очень благодарен, как обычно, застрял на половине

Центр помощи » помогите пожалуйста с транслитерацией и заменой букв в том же самом файле » Май 31, 2022 15:14:24

Доброго дня!
заранее спасибо за помощь
дело такое, делаю генератор паролей(я новичок, так что за код не агритесь пжлст)
нашел транслитерацию и переделал под себя, но не могу сделать так, что бы файл считывался и перезаписывался уже с переведёнными буквами

вот часть кода

def transliteration(text):
cyrillic = ‘абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ’
latin = ‘a|b|v|g|d|e|e|zh|z|i|i|k|l|m|n|o|p|r|s|t|u|f|kh|tc|ch|sh|shch||y||e|iu|ia|A|B|V|G|D|E|E|Zh|Z|I|I|K|L|M|N|O|P|R|S|T|U|F|Kh|Tc|Ch|Sh|Shch||Y||E|Iu|Ia’.split('|')
return text.translate({ord(k):v for k,v in zip(cyrillic,latin)})

if __name__ == “__main__”:
s = input() #тут как раз таки вместо ввода мне нужно сделать считывание и перезапись текста, но сколько я не бился так и не смог понять(
print(transliteration(s))

весь код не стал кидать так как там много всего, не буду запутывать еще больше

Центр помощи » Нужна помощь с задачкой,от которой зависит судьба моего обучения( » Май 31, 2022 13:57:10

Знающие люди,помогите,пожалуйста
Сам не справляюсь
Могу и денежку небольшую заплатить,если нужно будет

Нужно написать модуль,который создает декораторы для методов класса.
Класс text - Строка связанного текста со знаками препинания
Методы:
1.Исправление текста так,чтобы предложения начинались с заглавной буквы
2. Удаление символов,которые не являются допустимыми в тексте.
Декораторы:
1.Перевод всех бук в заглавные
2 Разбиение текста на список предложений

Python для новичков » Телеграм бот, сортировка сообщений » Май 31, 2022 09:46:16

Здравствуйте. Такая проблема. Как принимать от пользователя команды и их обрабатывать. Например, написал “записать”, ввел текст и содержимое сообщения соответственно записалось в условное БД. Потом дал команду “изменить”, ввел сообщение и он изменил. Просто, если работать по коду, который я указал ниже, он отрабатывает только одну команду “записать”. Если прописывать в elif, то код не работает. Либо, я делаю что-то не правильно. Что скорее всего так и есть. Мне не нужен код обработки, того что я написал. Мне хочется понять суть как это работает. И как это можно реализовать.


 @bot.message_handler(content_types=['text'])
def func(message):
   
    if(message.text == "...."):
        
        bot.send_message(message.chat.id, text=...)
                
    elif(message.text == "..."):
        
        bot.reply_to(message, ...")
    else:
        ...

Центр помощи » Black jack в Telebot » Май 30, 2022 10:10:05

Решил что друзья должи решать спор в играх, решил создать минимального игрового бота
И я не понимаю где ошибся
  
@bot.message_handler(commands=["bj"])
def bj(m, res=False):
    card = 0
    bot.send_message(m.chat.id, "Хотите взять карту?")
    if m.text == "Взять карту":
        card += random.randint(3, 11)
        bot.send_message(m.chat.id, f"Пользователь {m.from_user.first_name} взял карту, у него {card}.")
        if m.text == "Взять ещё одну":
            card += random.randint(3,11)
            bot.send_message(m.chat.id, f"У пользователя {m.from_user.first_name} {card} в сумме.")
        elif card > 21:
            bot.send_message(m.chat.id, f"Увы... {m.from_user.first_name} у вас {card} в сумме, перебор.")
        elif card == 21:
            bot.send_message(m.chat.id, f"Ого, у игрока {m.from_user.first_name} 21 очко!")
        elif m.text == "Хватит":
            bot.send_message(m.chat.id, f"Игрок {m.from_user.first_name} решил закончить игру на {card}.")
    elif m.text == "Хватит":
        bot.send_message(m.chat.id, f"Игрок {m.from_user.first_name} решил закончить игру не начав")
Не понимаю что именно написать, чтоб он реагировал, буду благоден за помощь.

Python для экспертов » IP - адресация. Помогите пожалуйста » Май 26, 2022 12:39:17

Эту херню надо написать на питоне

Для узла с IP-адресом 48.95.137.38 адрес сети равен 48.95.128.0. Найдите наименьшее
возможное количество единиц в двоичной записи маски подсети.

Буду благодарен!

Центр помощи » определение чисел с чётными делителями » Май 22, 2022 21:11:59

Напишите программу, которая ищет среди целых чисел,
принадлежащих числовому отрезку (5; 16) такие числа, которые
имеют все четные делители.
Помогите, пожалуйста!

Python для новичков » Подскажите пож-ста, верно ли решил задачку? » Май 22, 2022 18:06:58

namea=input(“введите название 1 партии:”)
a=float(input(“укажите число проголосовавших:”))
nameb=input(“введите название 2 партии:”)
b=float(input(“укажите число проголосовавших:”))
namec=input(“введите название 3 партии:”)
c=float(input(“укажите число проголосовавших:”))
da+b+c)/450;
e=a/d;
z=b/d;
f=c/d;
print (“места в партии ” + namea + “ = ”+str(e))
print (“места в партии ” + nameb +“ = ”+str(z))
print (“места в партии ” + namec +“ = ”+str(f))

Условие задачи:
Статья 83 закона “О выборах депутатов Государственной Думы Федерального Собрания Российской Федерации” определяет следующий алгоритм пропорционального распределения мест в парламенте.

Необходимо распределить 450 мест между партиями, участвовавших в выборах. Сначала подсчитывается сумма голосов избирателей, поданных за каждую партию и подсчитывается сумма голосов, поданных за все партии. Эта сумма делится на 450, получается величина, называемая “первое избирательное частное” (смысл первого избирательного частного - это количество голосов избирателей, которое необходимо набрать для получения одного места в парламенте).

Далее каждая партия получает столько мест в парламенте, чему равна целая часть от деления числа голосов за данную партию на первое избирательное частное.

Если после первого раунда распределения мест сумма количества мест, отданных партиям, меньше 450, то оставшиеся места передаются по одному партиям, в порядке убывания дробной части частного от деления числа голосов за данную партию на первое избирательное частное. Если же для двух партий эти дробные части равны, то преимущество отдается той партии, которая получила большее число голосов.

На вход программе подается список партий, участвовавших в выборах. Каждая строка входного файла содержит название партии (строка, возможно, содержащая пробелы), затем, через пробел, количество голосов, полученных данной партией – число, не превосходящее 10 в степени 8.

Программа должна вывести названия всех партий и количество голосов в парламенте, полученных данной партией. Названия необходимо выводить в том же порядке, в котором они шли во входных данных.

Python для новичков » Ошибка Memory Error » Май 20, 2022 03:07:26

Есть метод для формирования архива из txt фалов. Список self.file_list может состоять из 300 файлов каждый файл по 512кб

 def _create_archive(self):
        bt = BytesIO()
        zip = zipfile.ZipFile(bt, 'w', zipfile.ZIP_DEFLATED)
        for item in self.file_list:
            zip.writestr('{}.txt'.format(str(item.Name())), item.Data())
        zip.close()
        bt.seek(0)
        resulting_file = ResultingFile()
        resulting_file.SetName('ARCHIVE_NAME')
        resulting_file.SetData(bt.getvalue())
        bt.close()
        return resulting_file

При формировании этого архива в строке resulting_file.SetData(bt.getvalue()) падает через раз ошибка
Memory Error, ResultingFile:SetData: Unable to write content of vector to ResultingFile.
Есть какие-нибудь советы по оптимизации кода формирования архива?