Zeh*_*enE 1 python random python-2.7
我正试图从委员会制作3名学生的随机名单(小组委员会).然后,我想打印一个新的随机小组委员会1000次.现在,我的代码是打印相同的小组委员会1000次.我怎样才能解决这个问题?
import random
undergrads = ["ug_1", "ug_2", "ug_3", "ug_4"]
grads = ["g_1", "g_2"]
committee = undergrads + grads
subcommittee = []
for i in range(3):
add_sub = random.choice(committee)
subcommittee.append(add_sub)
for j in range(1000):
print subcommittee
Run Code Online (Sandbox Code Playgroud)
发生这种情况是因为您正在创建一个subcommittee包含3个随机成员,然后重新打印随机预定义的列表1000时间(这里会想到xkcd):
要解决这个问题,请执
for i in range(1000):
subcommittee = []
for i in range(3):
add_sub = random.choice(committee)
subcommittee.append(add_sub)
print subcommittee
Run Code Online (Sandbox Code Playgroud)
你也可以这样做:
for i in range(1000):
print([random.choice(committee) for _ in range(3)])
Run Code Online (Sandbox Code Playgroud)
或者更好的是,使用random.sample:
for i in range(1000):
print(random.sample(committee, 3))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |