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

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

更新時(shí)間:2022-07-12 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

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

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

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

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

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

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

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

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

import random
# 定義一個(gè)列表用來(lái)保存3個(gè)辦公室
offices = [[], [], []]
# 定義一個(gè)列表用來(lái)存儲(chǔ)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行定義了一個(gè)列表offices,其內(nèi)部存放了3個(gè)表示辦公室的空列表,表明此時(shí)還沒(méi)有分配老師,第5行定義了一個(gè)保存了所有老師名字的列表names,第6~8行代碼遍歷names列表,調(diào)用random.randint函數(shù)獲取了一個(gè)隨機(jī)索引,并且將拿到的姓名添加到隨機(jī)列表中;第9~15行使用嵌套的for循環(huán)輸出了每個(gè)辦公室的人數(shù)分配情況。

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

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

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

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!