x_split = x.split('\n')
print(x_split[0]) # где 0 - номер нужной вам строки (считая с 0)
Если вы ищете по предмету, то можно и такое сварганитьdef extract_specific_lines(text, subject_keyword):
# Разбиваем строку на отдельные строки
lines = text.split('\n')
# Начинаем с пустого списка для хранения нужных строк
selected_lines = []
# Флаг для отслеживания, когда начинается нужный блок строк
start_collecting = False
# Перебираем все строки
for line in lines:
if line.startswith(f"Предмет: {subject_keyword}"):
start_collecting = True
if start_collecting:
selected_lines.append(line)
# Останавливаем сбор после последней нужной строки
if line.startswith("Задания и решения:"):
break
# Объединяем выбранные строки в одну строку
result = '\n'.join(selected_lines)
return result
# Ваша исходная строка
x = """Предмет: Право
Сроки проведения: 3 декабря 2024 года
Время начала: 16:00
Классы участия: 9–11
Итоги проверки: официальная публикация ожидается 9.12
Задания и решения: задания и решения
--------------------
Предмет: Математика
Сроки проведения: 4 декабря 2024 года
Время начала: 16:00
Классы участия: 7–8
Итоги проверки: официальная публикация ожидается 12.12
Задания и решения: задания и решения"""
# Используем функцию для извлечения нужных строк
subject_keyword = "Математика"
result = extract_specific_lines(x, subject_keyword)
# Выводим результат
print(result)
blocks = []
block = {
"Предмет": subject,
"Сроки проведения": dates,
"Время начала": times,
"Классы участия": grades,
"Итоги проверки": itog,
"Задания и решения": results_publication
}
blocks.append(block)
for block in blocks:
for key, value in block.items():
print(f"{key}: {value}")
print("-" * 20)
while True:
await aioschedule.run_pending()
await asyncio.sleep(0.1)
import wx
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.SetSize((250, 250))
self.SetTitle("frame")
sizer_1 = wx.WrapSizer(wx.VERTICAL)
fields = [
("Ширина (м)", "a"),
("Длина (м)", "b"),
("Высота (м)", "h"),
("Окно ширина (м)", "o1"),
("Окно высота (м)", "o2"),
("Дверь ширина (м)", "d1"),
("Дверь высота (м)", "d2"),
]
# Create grid sizers and controls dynamically
for label_text, attr in fields:
grid_sizer = wx.GridSizer(1, 2, 0, 0)
sizer_1.Add(grid_sizer, 1, wx.EXPAND, 0)
label = wx.StaticText(self, wx.ID_ANY, label_text)
grid_sizer.Add(label, 0, wx.ALL, 1)
text_ctrl = wx.TextCtrl(self, wx.ID_ANY, "")
setattr(self, attr, text_ctrl) # Store the text control in the instance
grid_sizer.Add(text_ctrl, 0, 0, 0)
# Create a horizontal sizer for the result and button
h_sizer = wx.BoxSizer(wx.HORIZONTAL)
# Result text control
self.itogo = wx.TextCtrl(self, wx.ID_ANY, "")
self.itogo.SetBackgroundColour((171, 171, 171))
h_sizer.Add(self.itogo, 1, wx.EXPAND | wx.ALL, 5)
# Calculate button
self.button_1 = wx.Button(self, wx.ID_ANY, "Посчитать", size=(110, 21))
h_sizer.Add(self.button_1, 0, wx.ALL, 5)
self.button_1.Bind(wx.EVT_BUTTON, self.onclick)
# Add the horizontal sizer to the main sizer
sizer_1.Add(h_sizer, 0, wx.EXPAND, 0)
self.SetSizer(sizer_1)
self.Layout()
def onclick(self, event):
a = float(self.a.GetValue())
b = float(self.b.GetValue())
h = float(self.h.GetValue())
o1 = float(self.o1.GetValue())
o2 = float(self.o2.GetValue())
d1 = float(self.d1.GetValue())
d2 = float(self.d2.GetValue())
result = round(a * 2 * h + b * 2 * h - o1 * o2 - d1 * d2, 2)
self.itogo.SetValue(str(result))
class MyApp(wx.App):
def OnInit(self):
self.frame = MyFrame(None, wx.ID_ANY, "")
self.SetTopWindow(self.frame)
self.frame.Show()
return True
if __name__ == "__main__":
app = MyApp(0)
app.MainLoop()
Screen остается активным бот просто вылетает. при повторном перезапуске все ок.потому что надо делать сразу по нормальному:
self.cursor.execute("Ваш запрос')
self.connection.commit()
event.object.message['payload']
находится строкаjson.loads(event.object.message['payload'])['type']