【发布时间】:2014-07-21 16:38:53
【问题描述】:
我有一个 Python 脚本,我的家人用它来在我们的媒体中心播放一个随机的儿童电视节目。我的妻子告诉我,该节目似乎偏爱相同的节目选择。有没有办法让它更加随机,以便从一些不同的选项中进行选择?
提前致谢。
这是我目前使用的:
import glob,random,os
files = glob.glob("D:\Recorded TV\Bubble Guppies*.wtv")
files.extend(glob.glob("D:\Recorded TV\Doc McStuffins*.wtv"))
files.extend(glob.glob("D:\Recorded TV\Mickey Mouse Clubhouse*.wtv"))
files.extend(glob.glob("D:\Recorded TV\Octonauts*.wtv"))
files.extend(glob.glob("D:\Recorded TV\Team Umizoomi*.wtv"))
files.extend(glob.glob("D:\Recorded TV\Jake and the Never Land Pirates*.wtv"))
files.extend(glob.glob("D:\Recorded TV\PAW Patrol*.wtv"))
files.extend(glob.glob("D:\Recorded TV\Yo Gabba Gabba*.wtv"))
files.extend(glob.glob("D:\Recorded TV\Henry Hugglemonster*.wtv"))
files.extend(glob.glob("D:\Recorded TV\Wallykazam*.wtv"))
files.extend(glob.glob("D:\Recorded TV\Dora the Explorer*.wtv"))
files.extend(glob.glob("D:\Recorded TV\Jungle Junction*.wtv"))
files.extend(glob.glob("D:\Recorded TV\Little Einstein*.wtv"))
files.extend(glob.glob("D:\Recorded TV\The Wonder Pets*.wtv"))
files.extend(glob.glob("D:\Recorded TV\WordWorld*.wtv"))
file = random.choice(files)
print "Opening file %s..." % file
cmd = "rundll32 url.dll,FileProtocolHandler \"" + file + "\""
os.system(cmd)
【问题讨论】:
-
在拨打
random.choice()之前尝试random.seed()。这将根据系统时间(伪随机值)为random流播种。 -
这似乎更像是一个概率问题。我的猜测是某些节目的剧集比其他节目多?还是同一集被选中的频率更高?
-
这里也可能存在心理问题,例如确认偏差。您可以考虑保留最近播放的剧集(甚至节目)的列表,如果重新选择,则将其丢弃。