应该是分组问题
将10位老师(编号1、2,.......10)随机分配到4间办公室,且要求每间办公室至少包含2位老师,并统计分配所用的次数。输出每间办公室所分配的老师及分配所用的次数(求助这个要怎么写啊。。实在是没有头绪了。。) def assignment(teacher: int, office: int, minAssignment: int) -> int:
result = 0
div = int(teacher // minAssignment)
result += div
if teacher - div:
result += 1
return result
return result _2_ 发表于 2020-4-16 18:51
emmmm谢谢啦....不过这个我们还没学过....不太敢用....我也不太能理解..... 我们这节学的列表嵌套.....然后老师讲过一个类似的例题用了random函数还有for循环那个.(但是例题没有每个办公室至少两个老师这类条件....主要这个位置不知道怎么弄)....大佬们能不能帮忙从这个方向帮忙想一想{:10_266:} Jelly4869 发表于 2020-4-16 19:30
emmmm谢谢啦....不过这个我们还没学过....不太敢用....我也不太能理解.....
找到关系,都是有规律可循的
有收获就给我最佳答案吧{:10_254:} Jelly4869 发表于 2020-4-16 19:33
我们这节学的列表嵌套.....然后老师讲过一个类似的例题用了random函数还有for循环那个.(但是例题没有每个 ...
没必要用列表嵌套,毕竟只是求分配次数,你可以把这个函数改一改,改成普通的代码 还有,我也不知道每次发配的人数有没有限制,索性一次分派多个人,然后求值 _2_ 发表于 2020-4-16 21:36
没必要用列表嵌套,毕竟只是求分配次数,你可以把这个函数改一改,改成普通的代码
emmm可是你这个我真的不理解....而且我作业也得用这个知识点.....我再等等吧 _2_ 发表于 2020-4-16 21:38
还有,我也不知道每次发配的人数有没有限制,索性一次分派多个人,然后求值
题目就这个样子,应该没有限制分配的吧。你这个也没有分呀。。是我还需要写点什么吗 import random
ll = ['李白','李清照','陆游','杜甫','白居易','毛泽东','杜牧','苏轼','无名氏','孟浩然']
ban1 =[]
ban2 = []
ban3 = []
ban4 = []
print(ll)
while 0 < len(ll):
if 2 == len(ll):
break
else:
cc = random.choice(ll)
ban1.append(cc)
ll.remove(cc)
cc = random.choice(ll)
ban2.append(cc)
ll.remove(cc)
cc = random.choice(ll)
ban3.append(cc)
ll.remove(cc)
cc = random.choice(ll)
ban4.append(cc)
ll.remove(cc)
print('ban1',ban1)
print('ban2',ban2)
print('ban3',ban3)
print('ban4',ban4)
print(ll)
剩下的等兄弟自己改进咯 import random
ll = ['李白','李清照','陆游','杜甫','白居易','毛泽东','杜牧','苏轼','无名氏','孟浩然']
ban1 =[]
ban2 = []
ban3 = []
ban4 = []
print(ll)
while 0 < len(ll):
if 2 == len(ll):
break
else:
cc = random.choice(ll)
ban1.append(cc)
ll.remove(cc)
cc = random.choice(ll)
ban2.append(cc)
ll.remove(cc)
cc = random.choice(ll)
ban3.append(cc)
ll.remove(cc)
cc = random.choice(ll)
ban4.append(cc)
ll.remove(cc)
print('ban1',ban1)
print('ban2',ban2)
print('ban3',ban3)
print('ban4',ban4)
print(ll)
剩下的兄弟自己改进咯
均昊山 发表于 2020-4-16 23:20
import random
谢谢!!参考了一下做出来了
页:
[1]