faqts : Computers : Programming : Languages : Python : Common Problems

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

Entry

Noob asking: How do I get a program execute a random function?

Aug 2nd, 2007 07:41
stephen brown, Jimmy Hill,


===========================
from random import randint
def fun1():
    print "Function 1 invoked"
    return
def fun2():
    print "Function 2 invoked"
    return
def fun3():
    print "Function 3 invoked"
    return
def fun4():
    print "Function 4 invoked"
    return
funlist = [fun1, fun2, fun3, fun4]
funlist[randint(0, len(funlist)-1)]()
===========================
I'm not sure why you'ld want to do this.  In general, it will be better
to just have one function whose behaviour is random, e.g.
===========================
from random import randint
def ranfun():
    print "Function", randint(1,4), "invoked"
    return
ranfun()
===========================
which has the same behaviour and is easier to read.