2016-04-25 25 views
1

所以,我做了功能Python:如何限制随机输出量达到特定量?

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

功能的工作原理,但它产生的选择无限量。我如何限制它产生15种不同的选择?

+0

我猜你正在使用pygame?虽然这并没有真正有助于答案。只是为了让我的问题正确:您希望随机选择这4个项目只有15次? – CodenameLambda

+2

此功能只能做出一个选择。其他一些代码负责重复运行此功能。 – user2357112

+0

如果您在生成15个选择后调用它,会发生什么? – JETM

回答

1
needed_arrows = [randArrow() for _ in range(15)] 

那是你的意思? 或者你想只能够调用该函数15次,之后它返回类似None或引发异常?

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)