python列表(List)实现【8个老师随机分配到3个办公室】

1、分析

1.1、定义list

首先是使用List完成这个问题,那么就定义两个List:办公室list和老师list。

这里办公室list应该是嵌套了三个list,分别对应三个办公室,且为空;老师list则是正常的list。以A、B、C等代替老师。

offices = [[],[],[]]
teacher = ["A","B","C","D","E","F","G","H"]

1.2、随机分配办公室

这是这个问题的关键地方。涉及到随机分配,我们需要引入random来生成随机数。随机数代表的应该是办公室的序号,即0-2。这里使用随机数代表办公室的序号,然后用遍历老师,给老师分配办公室。

import random

for name in teacher:
    index = random.randint(0,2)      #生成随机数0、1、2
    offices[index].append(name)      #将老师随机的放入办公室

1.3、输出每个办公室的人数及老师名字

第一步:首先是输出每个办公室的人数,需要遍历每个办公室,用len求出每个办公室的人数(长度)

for office in offices:
    print("办公室的人数是:%d"%(len(office)))

第二步:需要给办公室编号,方便观察

i = 1
for office in offices:
    print("办公室%d的人数是:%d"%(i,len(office)))
    i=i+1

第三步:输出每个办公室老师的名字。第一步的for循环中的office代表某一个办公室,其中的数值就是老师,遍历office。每遍历完一个办公室换行,再输出分隔符

for name in office:
        print("%s"%name,end="\t")
    print()
    print("-"*20)

注意:这里的for循环是嵌套在第一步for循环里面的。

2、实现

import random
offices = [[],[],[]]
teacher = ["A","B","C","D","E","F","G","H"]

for name in teacher:
    index = random.randint(0,2)      #生成随机数0-2
    offices[index].append(name)      #将老师随机的放入办公室

i = 1
for office in offices:
    print("办公室%d的人数是:%d"%(i,len(office)))
    i=i+1
    for name in office:
        print("%s"%name,end="\t")
    print()
    print("-"*20)

结果每次都是随机的。

  • 19
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值