Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3494 posts.

Python для новичков » Программирование работы машины Тьюринга » Дек. 2, 2018 20:51:16

На вход программе подается строка неизвестной длины. Каждый элемент является значением в ячейке памяти ленты Машины Тьюринга.

На ленте находится троичное число, знак (плюс или минус) и троичная цифра.

Image: https://ucarecdn.com/5ae0f813-cd72-45e0-9e2c-146b1eaab799/-/crop/1049x142/336,351/-/preview/

Напишите программу, которая выполнит арифметическую операцию. Указатель на текущее состояние Машины Тьюринга изначально находится слева от числа (но не на первом его символе). По обе стороны от числа находятся пробелы. Результат арифметической операции запишите на месте первого числа. Для примера выше лента будет выглядеть так:

Image: https://ucarecdn.com/d2ee0f8b-c4f0-4d58-98af-adcc04f783fe/-/crop/1018x143/360,364/-/preview/Ваша программа должна вывести полученную ленту после завершения работы.

Алфавит:

0
1
2
+
-
“ ” (пробел)
Соглашения:

1. Направление движения автомата может быть одно из R (направо), L (налево), N (неподвижно).

2. Число обязательно начинается с единицы или двойки.

3. Числа и знак операции между ними идут непрерывно.

4. Гарантируется, что в результате операции вычитания не может получиться отрицательного числа.



В отчет включите таблицу состояний. Отдельно кратко опишите каждое состояние, например:
q1 - начальное состояние, которое необходимо, чтобы найти первую цифру первого числа.

Python для новичков » Оптимизировать бота для браузерной игры » Ноя. 27, 2018 20:06:23

Привет. Решил попробовать написать бота для игры-ловилки (https://www.divan.ru/vladimir/category/stok-mebeli/page-6). В принципе он работает, только эффективность его не лучше, чем управлять вручную. Подскажите как можно улучшить его реакцию?
И еще, как можно определить, что браузер закрыт? Программа продолжает управлять курсором и вне игры.
 from PIL import ImageGrab
import numpy as np
#import os
import time
from selenium import webdriver
import win32api, win32con
box=(0,799,1920,800) #устанавливает область для наблюдения по ширине экрана высотой 1 пиксель
driver = webdriver.Chrome()
def screen():
    im=ImageGrab.grab(box)
    #im.save(os.getcwd() + '\\Catch_snap_' + str(int(time.time())) + '.png','PNG')
def openWindow(): # открывает браузер и запускает игру
    driver.get("https://www.divan.ru/vladimir/category/stok-mebeli/page-6")
    driver.maximize_window()
    mousePos((1920//2,1080//2+50)) #запускает игру 
    leftClick()                    #(расчитано на разрешение 1920x1080)
    
def mousePos(cord):
    win32api.SetCursorPos(cord)
def leftClick():
      win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
      time.sleep(.1)
      win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
      #print "Click."          #completely optional. But nice for debugging purposes.    
def main():
    openWindow() #запуск игры
    while 1:       
        im=ImageGrab.grab(box) #считывает область экрана высотой 1 пиксель
        arr = np.array(im);    #преобразует в массив
        t= next((i for i, a in enumerate(arr[0][51::50]) if sum(a)<765), None)  
        #ищет первый пиксель в массиве не белого цвета с шагом 50 пикселей (половина ширины подушки)
        #и получает номер шага на котором был найден пиксель
        if t: # если найден такой пиксель
          #screen()
          win32api.SetCursorPos((t*50,800)) #преобразует шаг в координату пикселя и перемещает туда курсор   
        
if __name__ == '__main__':
    main()

Центр помощи » Помогите пожалуйста,клиент-сервер » Ноя. 25, 2018 16:50:45

Здравствуйте,помогите,пожалуйста,дописать программу клиент-сервер.Чтобы локальный сервер брал с помощью интернета время Албаний и отдавал это время клиенту.
Вот что имеется для сервера:
import socket
import json
import numpy
import numpy.random as random
serv_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
serv_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
host=“127.0.0.1”
port=8888

serv_socket.bind((host,port))
serv_socket.listen(1)

while True:
client_socket, addr= serv_socket.accept()
print (“Connected with{}”.format(addr))
msg = client_socket.recv(1024)
try:

client_socket.send(msg_json_enc)
except Exception as e:
client_socket.send(str(e).encode())
client_socket.close()
Вот что для клиента:
import socket
import json
import numpy as np
import numpy.random as random

server = ('127.0.0.1',8888)
sock = socket.socket(socket.AF_INET ,socket.SOCK_STREAM)
try:
sock.connect(server)
sock.send(msg_json_enc)
answer=sock.recv(1024)
answer_dec=answer.decode()
answer_dec_json=json.loads(answer_dec)
arr.append(answer_dec_json)
print('Vremyat',time)
except Exception as e:
client_socket.send(str(e).encode())
client_socket.close()

Python для новичков » Игра змейка, как добавить функцию НАЧАТЬ ИГРУ ЗАНОВО  » Ноя. 22, 2018 12:51:45

 from tkinter import *
import random
# ширина экрана
WIDTH = 800
# высота экрана
HEIGHT = 600
# размер сегмента змейки
SEG_SIZE = 20
# переменная отвечающая за состояние игры
IN_GAME = True
# Helper functions
def create_block():
    """ Создаём блок в случайном позиции на карте """
    global BLOCK
    posx = SEG_SIZE * random.randint(1, (WIDTH-SEG_SIZE) / SEG_SIZE)
    posy = SEG_SIZE * random.randint(1, (HEIGHT-SEG_SIZE) / SEG_SIZE)
    # блок это кружочек красного цвета
    BLOCK = c.create_oval(posx, posy,
                          posx+SEG_SIZE, posy+SEG_SIZE,
                          fill="red")
def main():
    """ Обрабатывает игровой процесс """
    global IN_GAME
    if IN_GAME:
        # двигаем змейку
        s.move()
        # определяем координаты головы
        head_coords = c.coords(s.segments[-1].instance)
        x1, y1, x2, y2 = head_coords
        # Столкновение с границами экрана
        if x2 > WIDTH or x1 < 0 or y1 < 0 or y2 > HEIGHT:
            IN_GAME = False
        # Поедание яблок
        elif head_coords == c.coords(BLOCK):
            s.add_segment()
            c.delete(BLOCK)
            create_block()
        # Самоедство
        else:
            # Проходим по всем сегмантам змеи
            for index in range(len(s.segments)-1):
                if head_coords == c.coords(s.segments[index].instance):
                    IN_GAME = False
        root.after(100, main)
    # Если не в игре выводим сообщение о проигрыше
    else:
        c.create_text(WIDTH/2, HEIGHT/2,
                      text="Игра окончена!",
                      font="Arial 20",
                      fill="red")
class Segment(object):
    """ Single snake segment """
    def __init__(self, x, y):
        self.instance = c.create_rectangle(x, y,
                                           x+SEG_SIZE, y+SEG_SIZE,
                                           fill="white")
class Snake(object):
    """ Simple Snake class """
    def __init__(self, segments):
        self.segments = segments
        # possible moves
        # список доступных направлений движения змейки
        self.mapping = {"Down": (0, 1), "Right": (1, 0),
                        "Up": (0, -1), "Left": (-1, 0)}
       
        # изначально змейка двигается вправо
        self.vector = self.mapping["Right"]
    def move(self):
        """ Двигает змейку в заданном направлении"""
        # перебираем все сегменты кроме первого
        for index in range(len(self.segments)-1):
            segment = self.segments[index].instance
            x1, y1, x2, y2 = c.coords(self.segments[index+1].instance)
            # задаём каждому сегменту позицию сегмента стоящего после него
            c.coords(segment, x1, y1, x2, y2)
        # получаем координаты сегмента перед ГОЛОВОЙ  
        x1, y1, x2, y2 = c.coords(self.segments[-2].instance)
        # помещаем ГОЛОВУ в направлении указанном в векторе движения
        c.coords(self.segments[-1].instance,
                 x1+self.vector[0]*SEG_SIZE, y1+self.vector[1]*SEG_SIZE,
                 x2+self.vector[0]*SEG_SIZE, y2+self.vector[1]*SEG_SIZE)
    def add_segment(self):
        """ Добавляет сегмент змейки """
        # определяем последний сегмент
        last_seg = c.coords(self.segments[0].instance)
        # определяем координаты куда поставить следующий сегмент
        x = last_seg[2] - SEG_SIZE
        y = last_seg[3] - SEG_SIZE
        # добавляем змейке ещё один сегмент в заданном координатах
        self.segments.insert(0, Segment(x, y))
    def change_direction(self, event):
        """ Изменяет направление движения змейки """
        # event передаст нам символ нажатой клавиши
        # и если эта клавиша в доступных направлениях
        # изменяем направление
        if event.keysym in self.mapping:
            self.vector = self.mapping[event.keysym]
     
# Создаём окно
root = Tk()
# Устанавливаем название окна
root.title("Волков Дмитрий")
# оздаём экземпляр класса Canvas  заливаем зелёным цветом
c = Canvas(root, width=WIDTH, height=HEIGHT, bg="#4f2642")
c.grid()
# Наводим фокус на Canvas, чтобы мы могли ловить нажатия клавиш
# catch keypressing
c.focus_set()
# создаём набор сегментов
segments = [Segment(SEG_SIZE, SEG_SIZE),
            Segment(SEG_SIZE*2, SEG_SIZE),
            Segment(SEG_SIZE*3, SEG_SIZE)]
# сама змейка
s = Snake(segments)
# Reaction on keypress
c.bind("<KeyPress>", s.change_direction)
create_block()
main()
# Запускаем окно
root.mainloop()

Python проекты » Вакансия Python developer (удаленно) » Ноя. 15, 2018 11:19:33

Всем привет!

Разработчик платформы Cloudike (white-label облачное хранилище персональных данных для телекома) и платформ класса CMP (Cloud Management Portals) для частных и публичных облаков, ищет ведущего python-разработчика.
Вакансия открыта в офисах: Москва, Нижний Новгород, Санкт-Петербург.
Возможна удаленная работа (все города западнее Урала) + редкие командировки в офис.
ЗП от 130-150К

Задачи / проекты (один из нижеперечисленных):
• Разработка бекендной части системы класса EFSS (Enterprise File Sync and Share): управление файлами в облаке, алгоритмы синхронизации, удаленный доступ. Улучшение существующего функционала, новый функционал, в т.ч. алгоритмически нетривиальный. Технические RND. Взаимодействие с инженерами заказчика: Индосат Индонезия, Водафон, КореяТелеком.
• Разработка системы биллинга / управления виртуальными ресурсами (виртуальные машины, контейнеры, диски, трафик, сторадж и пр) топ-3 облачного провайдера РФ.

Обязательные требования:
• хорошее знание языка Python, опыт промышленной разработки от 3-х лет
• умение адекватно оценивать задачи и выполнять их в срок
• опыт разработки бекендов
• знание английского языка (письменный - обязательно, разговорный - желательно)
• плюсом будет:
o опыт работы в команде
o опыт работы с Git
o участие в больших/высоконагруженных проектах
o работы в интернациональных командах, опыт вербального общения с коллегами на английском, опыт командировок за рубеж
o опыт работы с любыми Python фреймворками (Django, Tornado, Webpy и т.п.)
o опыт работы с ORM
o опыт разработки сервисов с HTTP / ReST API
o опыт разработки систем обработки большого объема данных
o знание платформы OpenStack / Ceph

Прочее:
• молодая и дружная команда
• работа по ТК
• молодой и профессиональный коллектив
• возможность гибкого графика посещения офиса
• компенсация питания, чай-кофе, печеньки и прочие плюшки

Python для новичков » Загрузка фото в  » Ноя. 12, 2018 20:40:46

Здравствуйте.

Как используя библиотеку selenium загрузить фото на сайт.
Пробовал через:
 driver.find_element_by_css_selector('.fa-paperclip').send_keys('C:\\Users\\User\Downloads\IMG_20181005.jpg')
Html код кнопки для загрузки
  
<span class="icon">
  <a id="add-foto-not-hide">
         <i class="far fa-paperclip fa-1h2x">
              </i>                                                    
           </a>
      </span>
В итоге вот такая ошибка: selenium.common.exceptions.ElementNotInteractableException: Message: Element <i class=“far fa-paperclip fa-1h2x”> is not reachable by keyboard

Python для новичков » Помогите начертить пружинку черепашкой (приложил фото). Не вызывается функция внутри цикла while другой функции. » Ноя. 11, 2018 21:33:11

import turtle
turtle.shape('turtle')
turtle.tracer(0,0)

def duga_small():
for i in range(0,50,2):
turtle.fd(0.1)
turtle.left(7.2)
def duga_big():
turtle.setheading(90)
count=0
x=2
while count<3:
for i in range(0,100,2):
turtle.fd(x)
turtle.right(3.6)
duga_small()
count+=1
duga_big()
turtle.update()

GUI » Подскажите модули GUI для qpython  » Ноя. 10, 2018 15:15:39

Приветствую. Подскажите простенький модули gui для qpython на платформе андроид7. Кроме киви.

Mobile Python » Установка kivy в qpython » Ноя. 10, 2018 14:54:16

Приветствую. Пишу в qpython на андроиде7. Решил сделать GUI интерфейс для управления. Остановился на kivy. При установке kivy, выдаёт ошибку, типа не установлен Cython.Distutils. Устанавливаю Cython, выдаёт ошибку:
Не понимаю как установить, что делать?

Python для новичков » Заполнить форму Mechanicalsoup » Ноя. 8, 2018 21:27:51

Всем привет. Хочу скриптом отправить сообщение в чат. Технически надо только выбрать форму, заполнить поле и нажать кнопку. Никакой регистрации, динамических страниц и всего такого.
Для тренировки выбрал чат http://esl-chat.com/.
Так вот, в Mechanicalsoup делаю все как по книжке -
 import mechanicalsoup
browser = mechanicalsoup.StatefulBrowser()
browser.open("http://esl-chat.com/")
с = browser.get_url()
print("Заходим на " +с)
browser.get_current_page()
browser.select_form()
browser.get_current_form().print_summary()

По идее последняя команда должна распечатать все доступные поля из формы. Но похоже что он не видит форму. Тогда странно что после browser.select_form() не выдает ошибку. Как я понял из документации эта команда выбирает первую форму на странице, если параметр не указан явно.
Если набираем
b = browser.select_form()
print(b)
То он пишет что выбран объект 0x099четатамеще. Заметил что каждый раз эти цифры меняются. Это страница динамическая или он каждый раз хватает разный объект думая что это форма? Или хватает не ту форму и присваивает ей временное имя?
Просматривая код страницы подумал что там форм вообще нет, а сделано через таблицы все как-то. Как их выбирать, если это так?
Стоит сказать что в html, css и всем таком я разбираюсь крайне слабо, так что пожалуйста объясните как для аутиста.
И не лучше ли это дело как то через request оформить? (параметры запросов смотреть умею)

Python для новичков » Подключение к cisco ASA » Ноя. 7, 2018 15:19:33

Добрый день!
Пытаюсь подключиться к cisco ASA, все проходит успешно, до тех пор, пока я не пытаюсь ввести enable password.
Сам скрипт выглядит так:
con = SSH2()
con.connect(l.strip())
con.authenticate(account)
con.execute(' ping 10.10.1.1')
test_response = con.response
print(test_response)
con.execute('enable')
con.execute('cisco')
con.execute('conf t')
con.execute('pager 0')
con.execute('show run')
c = con.response
con.send('exit')

ping до адреса 10.10.1.1 проходит, значит подключение проходит нормально, но далее ошибка:

Traceback (most recent call last):
File “CUsers/va.martynov/PycharmProjects/p4ne/distr/form_ena.py”, line 47, in <module>
con.execute('enable')
File “C:\Users\va.martynov\PycharmProjects\p4ne\Exscript\protocols\protocol.py”, line 972, in execute
return self.expect_prompt(consume)
File “C:\Users\va.martynov\PycharmProjects\p4ne\Exscript\protocols\protocol.py”, line 1075, in expect_prompt
result = self.expect(self.get_prompt())
File “C:\Users\va.martynov\PycharmProjects\p4ne\Exscript\protocols\protocol.py”, line 1053, in expect
result = self._expect(prompt)
File “C:\Users\va.martynov\PycharmProjects\p4ne\Exscript\protocols\protocol.py”, line 1028, in _expect
result = self._domatch(to_regexs(prompt), True)
File “C:\Users\va.martynov\PycharmProjects\p4ne\Exscript\protocols\ssh2.py”, line 421, in _domatch
if not self._fill_buffer():
File “C:\Users\va.martynov\PycharmProjects\p4ne\Exscript\protocols\ssh2.py”, line 392, in _fill_buffer
raise TimeoutException(error)
Exscript.protocols.exception.TimeoutException: Timeout while waiting for response from device

Как только ни пытался победить, и ставил \n и делал waitfor, ничего не помогает.
Небольшой нюанс - если с asa удалить ena password, то ставлю con.execute('enable\n') и все проходит нормально, при установленном ena password на asa, ничего не получается.
Есть у кого-нибудь идеи?

Python для новичков » Поменять значение » Ноя. 6, 2018 16:21:19

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

 while True:                                   
   print("---------------------------------------------")
   n=4
   a=[[1,2,3,4],[4,5,8,9],[8,9,1,2],[6,7,8,9]]
   print("\nСтартовая матрица:")
   for row in a:
      for elem in row:
         print(elem,end='')
      print()
   s=0                                        
   ip=0; ik=n-1                               
   for i in range(n-1,-1,-1):                 
      if i==(n-1):                            
       s=sum(a[i]); M=max(a[i])               
      else:
       ip+=1; ik-=1
       if ip<=ik:                  
        M=max(M,max(a[i][ip:ik+1:1]))
        if ip!=ik:
         s=s+a[i][ip]+a[i][ik]
        else:
         s=s+a[i][ip]
       else:
        break
   print("\nСумма элементов по границе матрицы",s)
   print("\nMAX значение:",M)
   print("\nИндексы максимального значения")
   ind=[]
   ip=0; ik=n-1
   for i in range(n-1,1,-1):                 
    if ip<=ik:
     for j in range(ip,ik+1,1):
      if a[i][j]==M:
       ind.append([i+1,j+1])
     ip+=1; ik-=1
    else:
     break
   print(sorted(ind))                    
   p=input()
   if p!='1':
      quit()

Центр помощи » Программа для наложения сетки на видео » Ноя. 6, 2018 07:19:00

Доброгo времени суток. Мне необходимо написать программу, которая будет накладывать размерную сетку на видео с трубопроводом. Т.е у меня есть видео движения камеры по трубопроводу и на него нужно наложить стеку.
С помощью OpenCV получается что-то подобное, однако сетка накладывается на первый кадр видео.
Подскажите пожалуйста, как сделать, чтобы видео проигрывалось и на него была наложена сетка.
Заранее спасибо

Python для новичков » Проблемы с запуском Jupyter Notebook (Anaconda) » Ноя. 5, 2018 00:39:30

Добрый вечер, данная проблема уже 2-й день не дает мне покоя. Просьба помочь разобраться с происходящим.
При попытке работать с Jupyter Notebook, запуская предварительно через Anaconda, в правом верхнем углу выскакивает красное окошко с надписью “Kernel error”. При нажатии на него появляется следующий код:

 Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\web.py", line 1592, in _execute
    result = yield result
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 1133, in run
    value = future.result()
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 1141, in run
    yielded = self.gen.throw(*exc_info)
  File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\sessions\handlers.py", line 73, in post
    type=mtype))
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 1133, in run
    value = future.result()
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 1141, in run
    yielded = self.gen.throw(*exc_info)
  File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 79, in create_session
    kernel_id = yield self.start_kernel_for_session(session_id, path, name, type, kernel_name)
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 1133, in run
value = future.result()
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 1141, in run
    yielded = self.gen.throw(*exc_info)
  File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 92, in start_kernel_for_session
    self.kernel_manager.start_kernel(path=kernel_path, kernel_name=kernel_name)
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 1133, in run
    value = future.result()
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\gen.py", line 326, in wrapper
    yielded = next(result)
  File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\services\kernels\kernelmanager.py", line 160, in start_kernel
    super(MappingKernelManager, self).start_kernel(**kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_client\multikernelmanager.py", line 110, in start_kernel
    km.start_kernel(**kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_client\manager.py", line 259, in start_kernel
    **kw)
  File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_client\manager.py", line 204, in _launch_kernel
    return launch_kernel(kernel_cmd, **kw)
  File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_client\launcher.py", line 128, in launch_kernel
    proc = Popen(cmd, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 756, in __init__
    restore_signals, start_new_session)
  File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 1155, in _execute_child
    startupinfo)
OSError: [WinError 87] Параметр задан неверно

Соответственно, не могу запустить даже print('hello, world!'). Подскажите, как подойти к решению данной проблемы?

Python для новичков » Phython+Tensorflow (нейронные сети) » Ноя. 3, 2018 13:13:10

Подскажите!
Заинтересовался нейронными сетями. пока новичок.
Нужно на картинках идентифицировать объекты-буквы (т.е буквы: a,b,c и т.д. и точное их расположение).

Хочу использовать для этого нейронную сеть Tensorflow
Подскажите по шагам - как это делать (с чего начать) или хотя бы понятный пример.
Спасибо!

Python для новичков » Помогите составить регулярное выражение для программы по поиску функций moonloder. » Ноя. 3, 2018 00:53:46

Помогите составить регулярное выражение для программы по поиску функций.
Всем доброе время суток, пишу программу для поиска функции moonloder. Необходимо составить так регулярное выражение, чтобы выводились всё что угодно перед словом и после слова. чтобы искать было как можно комфортнее. Вот видео проблемы https://www.youtube.com/watch?v=65JqrMeskl4&feature=youtu.be
Помогите мне пожалуйста вашим мудрым советом.
 from tkinter import*
from tkinter import Tk, StringVar, Label, Entry, Button, messagebox, Checkbutton, IntVar  # импортируем только то что надо
from tkinter.ttk import Combobox  # импортируем только то что надо
from tkinter import ttk
from tkinter.filedialog import askopenfilename
from tkinter import ttk
from tkinter import filedialog
import re
import itertools
from itertools import groupby
loaded = False
def find(word,f1):
 a =[]
 b = list((map(''.join, itertools.product(*zip(word.upper(), word.lower())))))# все комбинации
 for x in b:
  a.append(x)
  f = open(f1, "r")
  for i in f.readlines():
   j = i.rstrip("\n")
   if j == x:
    a.append(j) #
   f.close()
 with open(f1, 'r') as f:
  mytext = f.read()
  b.clear()
  for word in a:
   find = r"{0}+[\w\.-]+" .format(word)
   find2 = r"[\w\.-]+{0}+[\w\.-]+" .format(word)  # как + элемент списка в качестве переменной?
   find3 =  r"[\w\.-]+{0}+" .format(word)# как + элемент списка в качестве переменной?
   a1 = re.findall(find, mytext)
   a2 = re.findall(find2, mytext)
   a3 = re.findall(find3, mytext)
   for i in a1:
     b.append(i)
   for i in a2:
    b.append(i)
   for i in a3:
    b.append(i)
 a.clear()
 for i in b:
   if i not in a:
    a.append(i)
 return a
def search():
 if not loaded:
   return
 if loaded == True:
   res = str(var1.get()) # выводит содержание Entry в данный  момент
   a = find(res ,url)
   listbox1.delete(0, END)
   for i in a:
      listbox1.insert(END, i)
def ImportFiles():
 Tk().withdraw()
 global url
 global loaded
 url = askopenfilename(filetypes=(("all.files", "*"),), title="Choose a file.")  # открыть каталог выбора файл
 if url:
     try:
      with open(url, 'r') as file:
       lst = file.readlines()
       for i in lst:
          listbox1.insert(END, i)
       loaded = True
     except:
        messagebox._show("Ошибка", "Невозможно открыть файла ")
        return
window = Tk()
var1 = StringVar()
window.geometry('500x700'"+650+300")
button1 = Button(window, text='Open', command=ImportFiles).grid(column=1, row=0,padx=0, pady=15)
var1.trace("w", lambda name, index, mode, sv=var1: search())
Entry(window, width=70, textvariable=var1).grid(column=0, row=0,padx=10, pady=15)  # размер поле адреса ввода
listbox1 = Listbox(window, selectmode="SINGLE")
listbox1 = Listbox(window, height=30, width=70, selectmode="SINGLE")
listbox1.grid(padx=10, pady=20)
scroll = Scrollbar(command=listbox1.yview)
listbox1.config(yscrollcommand=scroll.set)
scroll.grid(column=1, row=1,padx=0, pady=15)
window.mainloop()

Центр помощи » Как отобразить полный путь до музыкального файла » Окт. 31, 2018 21:07:22

import os
import tkinter
from tkinter import *

MGI = tkinter.Tk()
MGI.title(“LISTER V 0.0.2”)
MGI.geometry('900x350')

def clicked_Button1():
i = 0
ii = 0
iii = 0
arry_sort =
String_sort = ''
for root, dirs, files in os.walk(path.get()):
arry_sort += files
for x in files:
iii += 1
i += 1

while ii < iii:

if “.mp3” in arry_sort:
continue

else:
path_listOFiles.insert(END, arry_sort)
ii += 1

def clicked_Button2():
i = 0
ii = 0
iii = 0
arry_sort =
for root, dirs, files in os.walk(path.get()):
arry_sort += files
i += 1
while ii < i:
if “.mp3” in arry_sort:
Listbox.insert(END, arry_sort)
ii += 1


button1 = Button(MGI, text = “FIND THE PATH”, width = 20 , height = 2, command = clicked_Button1)

path_listMP3 = Listbox(width = 50)
path_listOFiles = Listbox(width = 50)
path = Entry(MGI, width = 50)
path.place(x = 155, y = 10)
button1.place(x = 155, y = 16)
path_listMP3.place(x = 155, y = 100)
path_listOFiles.place(x = 500, y = 100)


MGI.mainloop()

Как мне доработать данную программу чтоб при клике на музыкальные файлы MP3 внутри лист бокса он(Музыкальный файл)воспроизводился А при повторном нажатии останавливался. либо создать кнопку




GUI » PyQt 5.11 Печать HTML документов. » Окт. 31, 2018 16:35:43

Здравствуйте. Подскажите какие сейчас есть способы печати HTML документов?
У меня сейчас PyQt 5.5 и в нем я использую QtWebKitWidgets.QWebView
В версии 5.6 убрали возможность печати HTML.
Хочу перейти на свежий QT 5.11. Как сейчас обстоят дела с печатью? Может кто поделиться кодом для печати HTML cстраниц?

События » 31 октября состоится онлайн-финал Serial Hacking October » Окт. 31, 2018 09:45:01

31 октября в 19:00 состоится фееричный онлайн-финал Serial Hacking October в формате онлайн-трансляции.
Serial Hacking October – это четыре независимых хакатона от CryptoBazar Fund, крупнейшего в России и странах СНГ венчурного инвестора в блокчейн-индустрии: Serial Hacking september, Serial Hacking october, Serial Hacking november и Serial Hacking december.
Участвовать и претендовать на победу можно в одном, нескольких или сразу во всех из них https://goo.gl/kckBv5 ☝️
🎊Призовой фонд октябрьского хакатона составляет 1 200 000 рублей.
💥Организатор-крупнейший инвестиционный фонд и блокчейн сообщество - CryptoBazar Fund, а также Fantom, и партнеры QuarkChain, NuCypher, ANKR, LINO.
Заходи к нам на трансляцию и узнай кто отправится в Гонконг, а также сколько денег получит главнй финалист

Ссылка на трансляцию - https://etutorium.ru/auth/quicksignup.html?token=1df42b785629c9d4200b72af5629c9d4200a26b8

Python для новичков » Заменить вложеннные циклы » Окт. 30, 2018 20:00:52

есть PixelAccess от картинки, есть итерабельный массив RGB пикселей, которые надо занести в картинку
как заменить это
 for x in range(width):
    for y in range(height):
        image_pixelaccess[x, y] = next(colors)  # colors = iter(list(tuple, tuple, tuple...))
на что либо по-быстрее, я думаю, есть какая-либо функция или группа функций для этой задачи из numpy