Python學習 假人和配對

2021-10-14 00:20:08 字數 2352 閱讀 1161

這次寫乙個生成假人以及假人配對的**吧。

匯入random, choices, randint這三個函式庫來達到隨機生成假人,隨機選擇資料的目的。

from random import random, choices, randint
1.可以先自己查資料找尋涉及到的待匹配資料放到字典裡面,例如:姓名,性別,年齡,身高,工作地區,收入,學歷,對另一半的要求等。

2.隨機設定假人的資料

3.採用迴圈生成假人(採用了列表巢狀字典)

candidate =

for i in

range(0

,40):

nametext =

'''王怡君、楊琬翰、杜偉來、謝勝瑞、強琳任、白可欣、李之公升、黃世豪、邱育治、劉秀娟、林秀佳、周筱婷、趙志偉、蘇慶昆、蔣明哲、林智竹、張秀喬、陳盈韋、林威友、張維梅、林詩康、劉美玲、簡少霞、葛彥廷、蔡原士、白家慧、黃心怡、王木盛、施緯原、張家智、李彥志、陳偉誠、蘇建添、司俊巨集、陳品旺、李慧君、傅欣怡、蔡宥木、何怡君、林宜欣'''

name = nametext.split(

"、")

choicename = name[

int(random()*

len(name))]

# print(choicename)

citytext =

'''成都市 廣安市 德陽市 樂山市 巴中市 內江市 宜賓市 南充市 自貢市 資陽市 綿陽市 眉山市 遂寧市 雅安市 閬中市 攀枝花市 廣漢市 綿竹市 萬源市 華鎣市 江油市 西昌市 彭州市 簡陽市 崇州市 什邡市 峨眉山市 邛崍市'''

city = citytext.split(

" ")

choicecity = city[

int(random()*

len(city))]

# print(choicecity)

***text =[0

,1]# 0代表男 1代表女

choice*** = ***text[

int(random()*

len(***text))]

# print(choice***)

choiceage = randint(18,

50)choiceincome = randint(

20000

,600000

) education =

["高中"

,"初中"

,"中專"

,"大專"

,"博士"

,"碩士"

,"本科"

] choiceeducation = education[

int(random()*

len(education))]

# print(choiceage)

# print(choiceincome)

# print(choiceeducation)

person =

#print(person)

1.通過雙重迴圈隨機配對,配對成功就break

2.格式化輸出配對成功的假人

3.可以加上count來計算配對成功的對數。

count =

0for i in candidate:

for j in candidate:

if j == i:

continue

else

:if i[

"aim"

].split(

",")[0

]== j[

"city"

]and

int(i[

"aim"

].split(

",")[1

])>

int(j[

"income"])

andint

( i[

"aim"

].split(

",")[2

])== j[

"***"]:

print

("{}與{}配對成功"

.format

(i["name"

], j[

"name"])

) count +=

1break

print

("%d對配對成功"

% count)

結果如下(每次執行結果不同,是隨機的):

python 假人隨機匹配

import random for i in range 0 1000 nametext 黃子韜 肖戰 迪麗熱巴 蔡徐坤 鄭愷 李晨 成龍 甄子丹 歐豪 鹿晗 name nametext.split choicename name int random.random len name print c...

OI學習筆記 配對堆

配對堆是一種可並堆 可以將兩個堆合併,且速度快 時間複雜度 合併merge o 1 插入push o 1 彈出pop o logn 配對堆不是二叉堆 我一開始不知道這個所以一直搞不懂 配對堆存樹的方式不一樣,如圖,對於每個節點,有一條邊指向最左邊的兒子,一條指向他右邊的兄弟 和普通樹的對比 靈魂畫圖...

Python小白練習之桌球賽配對問題

題目 兩個桌球隊進行比賽各出三人,甲隊為abc三人,乙隊為xyz三人。a不和x比,c不和xz比.求出比賽名單。分析 分別將abc和xyz進行配對,然後剔除不符合題目要求的配對,最終結果就是比賽名單,但是如何在程式中將abc和xyz之間搭建關係呢,這是思考的問題所在。此時想用到迴圈進行遍歷,但是字母之...