通過python實(shí)現(xiàn)隨機(jī)交換禮物程序詳解-創(chuàng)新互聯(lián)

看到了一個(gè)面試題,想了兩種解法,不知道符不符合要求,記錄如下:

創(chuàng)新互聯(lián)建站是專業(yè)的峰峰礦網(wǎng)站建設(shè)公司,峰峰礦接單;提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行峰峰礦網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

題目:有N個(gè)人,每人備一個(gè)圣誕禮物,現(xiàn)需要寫一個(gè)程序,隨機(jī)交互禮物,要求:自己不能換到自己的禮物,用python實(shí)現(xiàn)。

方法一:

構(gòu)造二維列表存儲(chǔ)參與者的名字和所帶禮物,使用random.choice()隨機(jī)選擇禮物。

import random
 
lsGiftIn = [['Jack','apple'],['June','ball'],['Mary','card'],['Duke','doll'],['James','egg'],['Tina','flute'],['Tom','coffee']]#存儲(chǔ)參與者的姓名和自己帶來的禮物
lsGiftOut = []#存儲(chǔ)交換后的結(jié)果
n = len(lsGiftIn)#參與人數(shù)
gifts = [i[1] for i in lsGiftIn]#未分配出去的禮物
for x in range(n):
  flag = 0
  person = lsGiftIn[x][0]
  myGift = lsGiftIn[x][1]
  if myGift in gifts:
    flag = 1
    gifts.remove(myGift)
  getGift = random.choice(gifts)#隨機(jī)分配禮物
  lsGiftOut.append([person,getGift])
  gifts.remove(getGift)
  if flag:
    gifts.append(myGift)
 
print(lsGiftOut)

網(wǎng)站名稱:通過python實(shí)現(xiàn)隨機(jī)交換禮物程序詳解-創(chuàng)新互聯(lián)
本文來源:http://muchs.cn/article42/dooihc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、云服務(wù)器網(wǎng)站排名、面包屑導(dǎo)航、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)