首頁技術(shù)文章正文

Python培訓(xùn):列表嵌套案例——分配老師到不同的辦公室

更新時間:2022-07-12 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  已知某學(xué)校有3個辦公室和8名教師,請編寫一個程序,完成教師和辦公室的隨機(jī)分配。

  要完成以上要求,可以按照以下步驟來設(shè)計(jì)程序:

  (1)定義一個包含3個空列表的列表offices,該列表中每個空列表代表空辦公室,下標(biāo)代表辦公室的編號;

  (2)定義一個列表names,該列表中存儲8位教師的姓名;

  (3)遍歷names取出每個教師的姓名,之后再隨機(jī)選取一個代表辦公室的空列表,將教師姓名添加到里面。

  (4)輸出每個辦公室列表的信息。

  接下來,按照上述要求編寫程序?qū)崿F(xiàn)案例,代碼如例5-13所示。

  例5-13 分配老師到辦公室

import random
# 定義一個列表用來保存3個辦公室
offices = [[], [], []]
# 定義一個列表用來存儲8位老師的名字
names = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
for name in names:
    index = random.randint(0, 2)
    offices[index].append(name)
i = 1
for temp in offices:
    print('辦公室%d的人數(shù)為:%d'%(i, len(temp)))
    i += 1
    for name in temp:
        print("%s"%name, end='')
    print("-" *20)

  在例5-13中,第1行導(dǎo)入了提供隨機(jī)數(shù)操作的模塊random,第3行定義了一個列表offices,其內(nèi)部存放了3個表示辦公室的空列表,表明此時還沒有分配老師,第5行定義了一個保存了所有老師名字的列表names,第6~8行代碼遍歷names列表,調(diào)用random.randint函數(shù)獲取了一個隨機(jī)索引,并且將拿到的姓名添加到隨機(jī)列表中;第9~15行使用嵌套的for循環(huán)輸出了每個辦公室的人數(shù)分配情況。

  由于辦公室和老師都是隨機(jī)分配的,因此,程序的輸出結(jié)果每次都會不一樣,圖5-14是其中的一種分配方式。

1657598223559_運(yùn)行結(jié)果.jpg

  圖5-14 運(yùn)行結(jié)果

分享到:
在線咨詢 我要報名
和我們在線交談!