Архив рубрики: Python

Python — генерация случайного числа с заданной вероятностью

Представим, что нам потребовалось создать на Питоне генератор случайных чисел, который выводит 1 или 0, причем 1 он выводит с вероятностью 0,2.
Это можно сделать следующим образом:

>>> import random
>>> for i in range(20):
…     x = random.random()
…     if x <= 0.2:
…             print 1
…     else:
…             print 0

0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0

Что мы здесь сделали?
Во первых, первой строкой подключили модуль random, затем сгенерировали случайное число с плавающей точкой в пределах от 0 до 1. В зависимости от того, меньше это число 0.2, или больше, мы вывели 1 или 0. Таким образом, задачу можно считать выполненной.

Автор: AlexWinner
Дата публикации: 2011-01-31T06:58:00.000-08:00

Python — сложение строк или конкатенация

В питоне складывать строки очень просто, вот примеры, из которых все понятно:
Пример №1

>>>print 'Привет! ' + 'Как дела?'
Привет! Как дела?

Пример №2

>>> a = 'Хорошо'
>>> b = ' А у тебя как?'
>>> c = a + b
>>> print c
Хорошо А у тебя как? 

Пример №3 (c преобразованием числа  в строку)

 >>> x = 12
>>> y = 6
>>> print '12 * 6 = '+str(x*y)
12 * 6 = 72

Автор: AlexWinner
Дата публикации: 2011-01-31T06:49:00.000-08:00

Инструменты

Несколько программ, без которых я не представляю комфортную работу.

1. NetBeans + Java
2. Eclipse + Qt + MinGW
3. MS Visual Studio 2008
4. Total Commander
5. GMail
6. Firefox
7. Python + IDLE
8. Winamp 🙂

Автор: Alex Petrov
Дата публикации: 2008-04-12T12:48:00.002-07:00

Текущие проекты

Давно я что-то сюда не писал. Замотался совсем. В частности, несколько неожиданно для себя стал техническим писателем 🙂

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

Все форматы документа из одного исходника: asciidoc сотоварищи

Я уже давно использую asciidoc для написания сколько-нибудь больших текстов. Почти все статьи в этом блоге, включая эту, подготовлены с помощью Asciidoc.

Asciidoc — это транслятор простейшего языка разметки текста в любой другой язык разметки. Разметка asciidoc очень простая, практически вы пишете plain text, только выделяете заголовки знаками = в начале строки, полужирный текст — *звёздочками*, курсив — ‘кавычками’, итд. Абзацы разделяются пустой строкой. А на выходе может быть всё что угодно, это зависит от так называемого backend-a, поведение которого описывается в конфиге. В поставке доступны бэкенды для xhtml, html4 и docbook. Docbook, в свою очередь, теоретически можно отконвертировать во что угодно.

Читать

Создание собственных виджетов в PyGTK с помощью cairo

Свободная библиотека Gtk, как известно, не отличается очень большим выбором виджетов. Но никто не мешает создавать свои собственные.

Gtk, как известно, построена на принципах ООП, что хорошо ложится на объектную модель Python. В данном случае это означает, что наследование виджетов естественным образом соответствует наследованию классов в Питоне. Так, создав класс-потомок gtk.VBox, мы получим виджет со всеми свойствами VBox, и сможем добавлять в него нужную функциональность.

Читать