这是我学习Python的第一天,也是我的第一个项目。所以我的数据中有 62 个项目,希望它随机挑选出其中的 48 个,并将它们随机放入 4 个一组中。因此,总共 48 个国家分为 12 个不同的组,每组 4 个。它继续将 16 个组放入其中,每个组有 4 个国家,最后一组有 2 个国家。我该如何解决这个问题或限制群组?
import random
countries = [ 'Argentina','France', 'Belgium', 'England','Brazil', 'Portugal', 'Netherlands', 'Spain', 'Italy', 'Croatia', 'United_States', 'Colombia', 'Morocco', 'Mexico', 'Uruguay', 'Germany','Senegal','Japan', 'Switzerland', 'Iran', 'Denmark', 'Ukraine', 'South_Korea', 'Australia', 'Austria', 'Hungary', 'Sweden', 'Poland', 'Wales', 'Nigeria', 'Ecuador', 'Peru', 'Serbia', 'Qatar', 'Russia', 'Czech_Republic', 'Czechia', 'Egypt', 'Ivory_Coast', 'Scotland', 'Türkiye', 'Tunisia', 'Chile', 'Algeria', 'Mali', 'Panama', 'Romania', 'Norway', 'Slovakia', 'Canada', 'Greece', 'Cameroon', 'Costa_Rica', 'Saudi_Arabia', 'Venezuela', 'Jamaica', 'Paraguay', 'Slovenia', 'Iraq','South_Africa', 'Republic_of_Ireland', 'Finland']
group = 1
membersInGroup = 4
for country in countries [:]:
if membersInGroup == 4 :
print ("group {} consist of:" .format(group))
membersInGroup = 0
group += 1
person = random.choice (countries)
print (person)
membersInGroup += 1
countries.remove (str(person))`
我不知道编码的所有术语,所以我觉得自己很有限哈哈
查看以下脚本:
import random
countries = ['Argentina', 'France', 'Belgium', 'England', 'Brazil', 'Portugal', 'Netherlands', 'Spain', 'Italy', 'Croatia', 'United_States', 'Colombia', 'Morocco', 'Mexico', 'Uruguay', 'Germany', 'Senegal', 'Japan', 'Switzerland', 'Iran', 'Denmark', 'Ukraine', 'South_Korea', 'Australia', 'Austria', 'Hungary', 'Sweden', 'Poland', 'Wales', 'Nigeria', 'Ecuador', 'Peru', 'Serbia', 'Qatar', 'Russia', 'Czech_Republic', 'Czechia', 'Egypt', 'Ivory_Coast', 'Scotland', 'Türkiye', 'Tunisia', 'Chile', 'Algeria', 'Mali', 'Panama', 'Romania', 'Norway', 'Slovakia', 'Canada', 'Greece', 'Cameroon', 'Costa_Rica', 'Saudi_Arabia', 'Venezuela', 'Jamaica', 'Paraguay', 'Slovenia', 'Iraq', 'South_Africa', 'Republic_of_Ireland', 'Finland']
groups = {}
group = 1
membersInGroup = 0
while group <= 12:
group_members = []
while membersInGroup < 4:
if not countries:
break # Break out if there are no more countries to allocate
person = random.choice(countries)
group_members.append(person)
countries.remove(person)
membersInGroup += 1
groups[group] = group_members
group += 1
membersInGroup = 0
# Print groups with group number and list of members
for group_num, group_members in groups.items():
print("Group {} consists of:".format(group_num))
for member in group_members:
print(member)
print()