标签: generator

在PHP/MySQL中生成唯一代码?

我正在与一个需要生成数百万字母数字代码的客户合作,这些代码用于杂志刮刮卡,瓶装奖品等.它们必须足够短以便在帽子上打印,他们希望确保不包括像1和I,0和O等模糊字符,并且必须明确存储它们以备将来使用 - 我们可以'只有一个算法可以在某人试图兑换一个时确定"有效性".最后,他们希望确保代码随机分布在一个大的"代码空间"内,这样人们就不能通过遍历字母表来猜测其他代码.

有没有指向合理有效的算法来生成这些类型的代码集?我在信封的背面刮了几下,但这个问题闻起来像是一个不知情的陷阱.

php mysql random generator serial-number

14
推荐指数
2
解决办法
1万
查看次数

逼真的2D地形图生成

我正在寻找一些允许我生成逼真的2D地形图的算法.通过现实我的意思是,这个人会将这样的地图视为"普通"地形图,而不是人工创建的.我不想创建逼真的地图.只是类似于可以在地理地图集中查看的地图.

到目前为止,我正在使用perlin噪音进行高度测绘,然后我会添加湖泊,河流,山脉,沼泽等.您可以在下面的图片中查看它的外观:

地形图http://www.freeimagehosting.net/uploads/1f1e9372bf.png

我对它不满意.这是不现实的,但我不能自己找出更好的东西.时间不是问题所以算法可能是繁重的计算.

谢谢你的时间.

编辑后:

我想我找到了一篇可以提供帮助的文章:http://portal.acm.org/citation.cfm?id = 1255047.1255077

然而,它不能免费获得,所以我仍然在寻找答案或想法.

2d generator terrain

14
推荐指数
2
解决办法
2万
查看次数

什么是C#迭代器和生成器,以及如何利用它们

我是一名VB.Net开发人员,在C#中有点新手,在查看C#文档时,我通过迭代器和生成器来了,无法完全理解使用,我有任何人可以解释(在vb中有洞察力;如果可能的话)

.net c# iterator generator enumerators

14
推荐指数
1
解决办法
1万
查看次数

TypeError:'generator'对象不可调用

我有一个像这样定义的生成器:

def lengths(x):
    for k, v in x.items():
        yield v['time_length']
Run Code Online (Sandbox Code Playgroud)

它起作用,称之为

for i in lengths(x):
    print i
Run Code Online (Sandbox Code Playgroud)

生产:

3600
1200
3600
300
Run Code Online (Sandbox Code Playgroud)

这是正确的数字.

但是,当我这样称呼时:

somefun(lengths(x))
Run Code Online (Sandbox Code Playgroud)

其中somefun()定义为:

def somefun(lengths):
    for length in lengths():  # <--- ERROR HERE
        if not is_blahblah(length): return False
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

TypeError: 'generator' object is not callable
Run Code Online (Sandbox Code Playgroud)

我有什么误会?

python yield generator

14
推荐指数
1
解决办法
2万
查看次数

irange()与range()或xrange()有什么不同?

当我遇到这个RangeGenerator页面时,我正在浏览Python Generators Wiki,该页面谈到irange() -

这将让我们迭代大量数字而不诉诸xrange,这是一个惰性列表而不是生成器.

我似乎无法理解该页面上描述的测试套件和实现.我知道range()在内存中创建一个列表(从Python 2.7的角度来看)并且xrange()是一个生成器.有irange()什么不同?

python generator range xrange

14
推荐指数
1
解决办法
8728
查看次数

从上下文管理器中收益是一种好的做法吗?

我最近编写了一个返回一系列打开文件的方法; 换句话说,这样的事情:

# this is very much simplified, of course
# the actual code returns file-like objects, not necessarily files
def _iterdir(self, *path):
    dr = os.path.join(*path)
    paths = imap(lambda fn: os.path.join(dr, fn), os.listdir(dr))

    return imap(open, paths)
Run Code Online (Sandbox Code Playgroud)

从语法上讲,如果我执行以下操作,我希望必须关闭生成的对象:

for f in _iterdir('/', 'usr'):
    make_unicorns_from(f)
    # ! f.close()
Run Code Online (Sandbox Code Playgroud)

结果,我决定包装_iterdir一个上下文管理器:

def iterdir(self, *path):
    it = self._iterdir(*path)

    while 1:
        with it.next() as f:
            yield f
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常.

我感兴趣的是这样做是否是好习惯.我是否会遇到这种模式之后的任何问题(可能会抛出异常)?

python generator contextmanager

14
推荐指数
2
解决办法
2795
查看次数

如何克隆ES6生成器?

我正在尝试List使用生成器在ES6中创建一个monad.为了使它工作,我需要创建一个已经消耗了几个状态的迭代器的副本.如何在ES6中克隆迭代器?

function* test() {
    yield 1;
    yield 2;
    yield 3;
}

var x = test();
console.log(x.next().value); // 1
var y = clone(x);
console.log(x.next().value); // 2
console.log(y.next().value); // 2 (sic)
Run Code Online (Sandbox Code Playgroud)

我试着clonecloneDeeplodash,但他们是没有用的.以这种方式返回的迭代器是本机函数并在内部保持其状态,因此似乎没有办法用自己的JS代码来完成它.

javascript clone generator ecmascript-6

14
推荐指数
3
解决办法
1748
查看次数

Python变量在发生器内失去范围?

以下代码返回NameError: global name 'self' is not defined.为什么?

lengths = [3, 10]
self.fooDict = getOrderedDict(stuff)

if not all(0 < l < len(self.fooDict) for l in lengths):
    raise ValueError("Bad lengths!")
Run Code Online (Sandbox Code Playgroud)

请注意,这self.fooDict是一个有35个条目的OrderedDict(从集合库导入).当我尝试调试时,下面的代码执行没有错误:

(Pdb) len(self.dataDict)
35
(Pdb) all(0 < size < 35 for size in lengths)
True
Run Code Online (Sandbox Code Playgroud)

但是下面的debugginf代码给出了原始错误:

(Pdb) baz = len(self.dataDict)
(Pdb) all(0 < size < baz for size in lengths)
NameError: global name 'baz' is not defined
Run Code Online (Sandbox Code Playgroud)

python scope generator

14
推荐指数
1
解决办法
1442
查看次数

链接异步方法调用 - javascript

你有一个原型对象Foo有两个异步方法调用,bar和baz.

var bob = new Foo()

Foo.prototype.bar = function land(callback) {
  setTimeout(function() {
    callback()
    console.log('bar');
  }, 3000);
};

Foo.prototype.baz = function land(callback) {
  setTimeout(function() {
    callback()
    console.log('baz');
  }, 3000);
};
Run Code Online (Sandbox Code Playgroud)

我们想做bob.bar().baz()并按顺序记录"bar"和"baz".

如果你不能修改方法调用(包括传入你的回调函数),你如何将默认回调传递给这些方法调用?

一些想法:

  1. 用装饰器包裹"bob"(如何实现仍然模糊,可以用一个小例子)

  2. 修改构造函数以指定默认回调(如果没有分配)(未考虑是否可能)

  3. 使用生成器包装器将继续调用next方法,直到没有剩下?

javascript asynchronous generator callback es6-promise

14
推荐指数
2
解决办法
1万
查看次数

Keras:如何在ImageDataGenerator中使用predict_generator?

我对Keras很新.我训练了一个模型,并希望预测存储在子文件夹中的一些图像(比如用于训练).为了测试,我想预测7个类(子文件夹)中的2个图像.下面的test_generator可以看到14张图片,但我得到了196张预测.哪里出错了?非常感谢!

test_datagen = ImageDataGenerator(rescale=1./255)

test_generator = test_datagen.flow_from_directory(
        test_dir,
        target_size=(200, 200),
        color_mode="rgb",
        shuffle = "false",
        class_mode='categorical')

filenames = test_generator.filenames
nb_samples = len(filenames)

predict = model.predict_generator(test_generator,nb_samples)
Run Code Online (Sandbox Code Playgroud)

python machine-learning generator deep-learning keras

14
推荐指数
3
解决办法
3万
查看次数