Python:如何限制我获得特定数量的随机输出量?

时间:2016-04-25 17:37:52

标签: python python-3.x random

所以,我已经完成了这个功能

def randArrow():
    randArrow = ['left', 'right', 'down', 'up']
    print(random.choice(randArrow))
    clock.tick(15)

该功能有效,但它产生无限量的选择。如何限制它产生15种不同的选择?

2 个答案:

答案 0 :(得分:1)

needed_arrows = [randArrow() for _ in range(15)]
这是你的意思吗? 或者你是否只想调用该函数15次,然后返回None之类的内容或引发异常?

答案 1 :(得分:0)

您可以使用非常方便的发电机:

import tkinter as tk
import random

def pickUp(n):
    randArrow = ['left', 'right', 'down', 'up']
    while n>0:
        yield random.choice(randArrow)
        n -= 1

def randomArrows():
   try:
      print( next(a) )
      root.after(10,randomArrows)
   except:
      pass

a = pickUp(5)
root = tk.Tk()
root.after(10,randomArrows)