python 聖誕節隨機交換禮物

2022-09-12 21:54:28 字數 1346 閱讀 5712

import random

'''隨機互動禮物,員工abcde分別有禮物12345編號,每個員工不能抽到自己的

'''people =

# 所有的禮物編號

gifts = [i for i in people.values()]

mans = [j for j in people.keys()]

def get_gift():

'''隨機抽取禮物'''

if len(gifts) > 2:

# 設定乙個隨機值,範圍是0-禮物數量減1

n = random.randint(0, len(gifts)-1)

#當禮物數大於2時,隨便取禮物

if people.get(x) == gifts[n]:

# 判斷等於自己的禮物

get_gift() # 重新抽取

else:

print("%s 取到了禮物編號 %s" % (x, gifts[n]))

# 取到了禮物後,把禮物從禮品盒裡面移除掉

del gifts[n]

mans.remove(x)

else:#當禮物數小於3時,要判斷三種情況:

#當兩個禮物都不是剩下的兩個人的,隨機取。

if people.get(x) not in gifts:

n1 = random.randint(0, len(gifts) - 1)

# 當禮物數大於2時,隨便取禮物

if people.get(x) == gifts[n1]:

# 判斷等於自己的禮物

get_gift() # 重新抽取

else:

print("%s 取到了禮物編號 %s" % (x, gifts[n1]))

# 取到了禮物後,把禮物從禮品盒裡面移除掉

del gifts[n1]

mans.remove(x)

#當有乙個禮物屬於其中乙個人,換著取。

else:

print("%s 取到了禮物編號 %s" % (mans[0], gifts[1]))

print("%s 取到了禮物編號 %s" % (mans[1], gifts[0]))

if __name__ == '__main__':

while 1:

if len(gifts) == 0:

print("換禮物結束!")

exit()

x = input("輸入乙個員工:")

if x not in mans:

print("%s 已經分配禮物了,請重新未分配禮物的員工" % x)

else:

get_gift()

Python 隨機交換聖誕禮物

在群裡看到了乙個面試題,想了兩種解法,不知道符不符合要求,記錄如下 題目 有n個人,每人備乙個聖誕禮物,現需要寫乙個程式,隨機互動禮物,要求 自己不能換到自己的禮物,用python實現。方法一 構造二維列表儲存參與者的名字和所帶禮物,使用random.choice 隨機選擇禮物。import ran...

聖誕節送女生的禮物

2014 12 22 09 40 網頁設計 標籤 1236 還有幾天就到的聖誕節了,各位屌絲們是否已經選好了送女神的禮物呢?我推薦的這款產品是diy玻璃球小屋 浪漫愛琴海 這款商品其實早在 上就賣的很火爆了。截至發稿止,月銷售有5000多件。累計評價37000多條。看來購買的人數的確很多啊。知道這個...

聖誕節送什麼禮物給情人

聖誕節送什麼禮物給情人 獵頭獵頭公司 聖誕還有其他重要 獵頭節日一樣,被情侶 獵頭們過成了情人節。本來就是嘛,情侶是不放過任何乙個表達愛意的機會的,許多愛撒嬌辦嗲的 獵頭公司女孩子早早就給 獵頭公司男友出了難題,今年聖誕節送什麼禮物給我?普通的我可不要。男友就要挖空心思搜尋聖誕禮物了。同樣女友也要照...