心血来潮想写一个福利彩票的随机摇号程序,由于之前一直是写Java的程序或是C# 的程序,于是就这么写下去了:
for j in range(0, 7): ball = random.randrange(1, 13) # 本意是在这里进行去重 if ball not in lastBalls: lastBalls.append(ball) else: j = j - 1
所以这里的 j = j - 1 并没有达到预期的减一效果,而是忠实的走过了 1,2,3,4,5,6 j 的减一并没有影响到range的计数方式
不甘心啊,于是,我换了一种方式:
i = 7 for j in range(0, i): ball = random.randrange(1, 13) if ball not in lastBalls: lastBalls.append(ball) else: i = i + 1
没有办法,最后只能用while做了:
i = 0 while i < 7 : ball = random.randrange(1, 13) if ball not in lastBalls: lastBalls.append(ball) i = i + 1 else: pass