coding utf8 import random class randomwalk_iter object def __init__ se

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# coding:utf8
import random
class randomwalk_iter(object):
def __init__(self):
self.last = 1 # инициализировать предшествующее значение
self.rand = random.random() # инициализировать значение-кандидат
def __iter__(self):
for x in xrange(10):
yield x
def next(self):
if self.rand < 0.1: # указатель предела
raise StopIteration # конец итерации
else: # поиск подходящего кандидата
while abs(self.last-self.rand) < 0.4:
print '*', # отобразить отклонение
self.rand = random.random() # новый кандидат
self.last = self.rand # обновление предшествующего значения
return self.rand
x = randomwalk_iter()
print x.__iter__()
print x.next()