我很难弄清楚下面的代码是如何工作的:
import random
for i in range(0, 100):
if not i % 15:
random.seed(1178741599)
print [i+1, "Fizz", "Buzz", "FizzBuzz"][random.randint(0,3)]
我知道当i
被 , 整除时15
,random
将使用相同的索引,seed
因此randint(0, 3)
将始终返回相同的索引,但是当我尝试
for i in range(100):
random.seed(1178741599)
print random.randint(0,3) #always print 0
上面的代码总是打印0
,不应该是(这是正确的行为,并且对应3
(作为"FizzBuzz"
列表中的索引[i+1, "Fizz", "Buzz", "FizzBuzz"]
吗?i+1
于列表中。)
什么时候i
可以被3
or整除5
呢?
种子有什么魔力1178741599
?
编辑:正如 jonrsharpe 指出的,fizzbuzz 代码仅适用于 python 2.x