for
, в теле цикла переводите строки в числа с помощью встроенного класса int
и добавляете в новый список, ну и присваиваете a
новый список. Всего четыре строчки.Ubuntu:sudo apt-get install build-essential python-dev libsdl2-dev \ libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \ libjpeg-dev libpng12-dev virtualenvwrapper
Open a new shell to ensure virtualenvwrapper is running, then run:mkvirtualenv pygame_sdl2 pip install cython
Change into a clone of this project, and run the following command to modify the virtualenv so pygame_sdl2 header files can be installed in it:python fix_virtualenv.py
Finally, build and install pygame_sdl2 by running:python setup.py install
python
на python3
и pip
на pip3
. И попробуйте ещё раз.git clone https://github.com/renpy/pygame_sdl2
def recv():
last_id = 0
while True:
file = vk.messages.getHistory(user_id=93084902, rev=0, count=1)
for i in file['items']:
if i['id'] > last_id:
last_date = i['id']
print(i['text'])
variable = Thread(target=recv, args=())
variable.start()
i['date']
на i['id']
. Если сообщения пишут очень часто, так правильнее и надёжнее. Мне показалось, что id
сообщений имеют случайный характер, но edward_freedom ткнул меня носом в мою невнимательность)) vk_api
или в версиях его зависимостей (beautifulsoup4
, requests
, websocket-client
, six
), чьи разработчики могли отказаться от поддержки Python 3.4.requirements.txt
и установить пакет вручную python setup.py install
.re
стандартной библиотеки.def check_password_for_chars(password, chars):
for char in chars:
if char in password:
return True
return False
chars
свои наборы символов.chars
. Убираете return True
из тела цикла. Добавляете в функцию третий аргумент, скажем min_count
(минимальный счёт), и перед циклом добавляете локальную переменную, скажем count
(счёт), со значением 0
. Тогда в теле цикла, при каждом обнаружении искомого символа в пароле, Вы увеличиваете count
на 1
. И в конце проверяете, что count
больше или равно min_count
, чтобы вернуть True
или False
.| safe
.False
от 0
и True
от 1
-- используйте оператор is
вместо !=
.==
и !=
проверяют равенство значений двух объектов. Но из-за особенностей реализации, у False
и 0
-- одно и тоже значение, а у True
и 1
-- одно и тоже другое значение.is
проверяет равенство id двух объектов. Булевы объекты True
и False
-- это синглтоны, т.е. существуют в программе не более, чем в 1 экземпляре. Поэтому, у всех True
-- один и тот же id, а у всех Fasle
-- один и тот же другой id.