2024-05-20 18:46:58 发布
网友
我该如何编写代码,让9个人的列表尽可能平均地分成两辆车,但在python中他们被随机地放在每辆车中? 基本上我在寻找类似的回报: 车1:Person8、Person2、Person4、Person7 车2:Person5,Person1,Person3,Person6,Person9
把整张单子洗一下,然后把单子分成两张,一张有4个人,另一张有剩下的人:
import random people = ['foo', 'bar', 'baz', 'eggs', 'ham', 'spam', 'eric', 'john', 'terry'] random.shuffle(people) car1, car2 = people[:4], people[4:]
如果无法直接对人员列表排序,请改用random.sample():
random.sample()
people = ['foo', 'bar', 'baz', 'eggs', 'ham', 'spam', 'eric', 'john', 'terry'] shuffled = random.sample(people, len(people)) car1, car2 = shuffled[:4], shuffled[4:]
后一种方法的演示:
>>> import random >>> people = ['foo', 'bar', 'baz', 'eggs', 'ham', 'spam', 'eric', 'john', 'terry'] >>> shuffled = random.sample(people, len(people)) >>> shuffled[:4], shuffled[4:] (['bar', 'baz', 'terry', 'ham'], ['spam', 'eric', 'foo', 'john', 'eggs'])
from random import shuffle x = [i for i in range(10)] shuffle(x) print x mid = int(len(x)/2) car1 = x[:mid] car2 = x[mid:] print car1 print car2
把整张单子洗一下,然后把单子分成两张,一张有4个人,另一张有剩下的人:
如果无法直接对人员列表排序,请改用
random.sample()
:后一种方法的演示:
相关问题 更多 >
编程相关推荐