Python:函数返回数字的升序

Python:函数返回数字的升序

问题描述:

如何编写一个函数,每次我打电话时都会按升序给我一个新的数字?Python:函数返回数字的升序

例如,如果我第一次调用它,它将返回“1”,如果我再次调用它,它将返回“2”。

+0

你可能有兴趣在接受这个问题的答案:HTTP://计算器。 com/questions/231767/the-python-yield-keyword-explained – syrion 2011-03-29 12:58:41

+0

@syrion:这是“产量解释”,可能现在只是一种神秘的方式,让我们的朋友来到他的柜台;) – user237419 2011-03-29 13:02:14

+0

是的,我也提高了Sven的答案,因为它更直接 - 但答案就是解释了为什么它有效。 :) – syrion 2011-03-29 13:03:53

itertools.count()怎么样?

counter = itertools.count() 
print next(counter) 
print next(counter) 
print next(counter) 

打印

0 
1 
2 

如果你希望你的柜台,从1日开始,使用

counter = itertools.count(1) 
+0

试图使用itertools,我得到“NameError:name'itertools'未定义” – Maks 2011-03-29 13:25:33

+0

@Maks:您必须在文件的开头导入itertools。 – delnan 2011-03-29 13:29:12

+0

谢谢。另外,我需要将这些升序号码分配给一个字符串。正如我udnerstand我不能在这种情况下使用“下一个”。例如,“ouput = next(counter)”不起作用 – Maks 2011-03-29 13:36:43