帶著學生做實驗,拍腦袋想到了這個題目,正好銜接了上節實驗課的東西,
生成1000個男女假人,并為其配對,找到合適的相親物件,
思路:
- 去網站上找到了相關的屬性要求放到字典里面
- 隨機設定假人的姓名,性別(0代表男,1代表女),城市,薪水 采用split+通過random函式實作
- 采用回圈生成了1000個假人,生成采用了串列嵌套字典即串列中存放了1000條字典資料
- 通過雙重回圈隨機配對,配對成功即break(破出回圈),其它復雜情況留著以后玩
- 在配對程序中要注意男-女配對的問題,將(1-sex)即可得到需要的另外一個性別
- 格式化輸出配對成功的假人
- 輸出配對成功的人數
#coding:UTF-8
#簡陋版非誠勿擾
#生成假人
from random import random, choices,randint
'''
#為假人隨機選擇城市
name = '''黃崇玲、張宛真、劉敏修、林雅惠、楊貞蘋、黃武行、白建宏、張仲蘭、倪佳蓉、王定辰、許士杰、王佳儀、王名吟、張威宇、吳彥翔、吳美淑、王詩映、許育蓮、許菁美、施怡君、高英杰、黃崇妹、林靜龍、姚辛南、范喬凱、潘志明、陳志偉、黃俊嘉、王琬興、盧淑卿、李欣新、洪偉哲、王玉玲、吳佳芷、張翠珊、錢辰宏、鄭雅宇、張巧瑩、林琬婷、王美虹、貝燕貴、蔡婉琬、陳志偉、孫思潔、紀承翰、潘家冰、楊志柏、吳翔昆、李佳蓉、毛大綸、吳伊婷、王寧樺、林泓宏、程秀珍、陳韋成、蔡毓信、吳麗萍、陳雅慧、陳家夢、張興旺、王真陽、黃靖信、郭素仲、方淑珍、王志瑤、周淑芬、柳協潔、賁香映、廖婉修、謝佳儒、藍淑惠、宋姿瑜、陳哲維、陳靜雯、林慧玲、孫佩如、蕭智文、祁子博、呂雅萍、趙上達、王婉婷、王志峰、林欣琬、林宗吉、吳振菁、陳秉源、王志侑、劉俊佑、王喬瑋、陳鈺以、吳孟梅、林家銘、倪淑婷、陳國維、傅士凱、吳俊賢、袁俊菁、鄭雅珍、林群夢、林宜真、林昌馨、鐘蓉瑄、楊怡婷、汪馨火、沈慧萍、煉訓元、羅翔寶、陳瑩月、周仁杰、謝雅竹、黃喜湖、李冠生、吳承修、楊文男、許惠玲、林常白、黃珮珊、連玉婷、戴圣杰、欒文杰、符晏均、徐立偉、陳珮君、王依婷、黃國任、蕭俊賢、陳麗勛、姜鴻斌、鄭豪堅、陳奕君、鄧樂茹、吳嘉凱、何嘉惠、吳冠綸、投訓婷、周雅筑、林皓富、林裕帆、張俊杰、蔡佳杰、崔文彬、陳淑芬、林晉辛、梁君豪、林慧玲、陳少云、張白泉、徐佳蓉、吳玟蓁、潘彥博、胡豐容、張瑋倫、張雅春、張雅琪、喬逸凡、鄭美珍、李雅枝、陳雅文、劉欣沛、陳明憲、張羽秋、陳左琴、陳登芳、黃雅琳、陳志江、張法劭、施軒妹、楊佳蓉、陳明珮、張怡如、林士依、盧曉達、蔡志妤、葉孟修、陳惟韋、袁淑敏、黃姿菱、謝怡潔、黃怡蓁、張和柔、邱毓瑩、李宜紹、何百真、楊中發、倪韻郁、吳逸凡、張豐韻、呂宜潔、阮睿奇、湛珮如、劉舜堅、夏儀如、張景泉、陳瑤霖、張哲嘉、黃政冰、陳嘉白、王怡婷、謝枝紹、王淑豪、廖月美、王孟穎、李伊清、李吟珊、蔡政信、郭國榮、楊文孝、鄭江冰、陳朝良、楊順玟、劉育欣、徐華奇、黃宛臻、蕭雅齊、李秀英、吳耀睿、陳竣杰、朱一樂、林承枝、韓常祥、王子睿、林怡如、胡紹卿、楊宛君、賴旻瑞、吳孟穎、吳美泉、許哲琪、袁宥清、張憲堅、姚景惟、蔡正侑、江美玲、謝文齊、張哲元、蔡瑋婷、曾宜臻、李佩伶、陳柏湖、李欣怡、鄭子揚、陳志忠、蔡柏毅、盧玉娟、李乃豪、陳勇慈、林長以、黃玉婷、鄭潔娟、陳淑君、吳佳琪、蔡玉芳、藍裕中、許毅雪、侯雅玲、王珍俐、謝文宇、周惠敏、謝文泉、張信韋、陳嘉琪、王俊賢、汪筱冰、楊志瑞、李珮喜、林雅婷、林羽泰、邱雅筑、李采霖、楊雅雨、黃怡伶、白峻豪、黃桂雪、林以合、葉凱鈞、陳嘉萱、陳亦諭、陳茂堯、方文杰、李政璇、王嘉維、林左祥、劉竣柔、陳小薇、林宜銘、黃筱杰、陳志文、趙忠君、賴靜宜、楊俊安、吳柏云、黃嘉琪、羅雅如、林馨儀、王嘉睿、鄭宗璇、張怡君、楊舒東、張奇妹、李歡任、趙明慧、吳坤娥、蔡欣成、周定升、劉明秀、韓可瑋、王鈺竹、陳毅婷、彭麗卿、郭勇堯、丁靜怡、劉上啟、郭冠翰、羅靖欣、李怡慈、鄭家賢、鄧蕓鴻、謝心湖、張博琇、張朝志、陳姿吟、陳行嘉、李威亞、黃勇志、廖淑玲、朱嘉玲、劉怡辰、張維青、李威文、吳婷婷、韓仁杰、張真心、蔡宥木、何怡君、蕭協吉、林宜欣、宋智翔、李珮民、李彥霖、吳姵儀、徐夢財、陳淑芬、杜巧瑩、吳勛妃、楊柏豪、劉惟恭、謝海堯、白可欣、李之升、黃世豪、王素玟、蔡明恭、張毓依、陳靜昌、趙靜怡、藍宏儒、王志緯、王雅婷、郭建安、王明恭'''
name1 = name.split("、")
ChoiceName = name1[int(random()*len(name1))]
#print(ChoiceName)
city = '''成都市 廣安市 德陽市 樂山市 巴中市 內江市 宜賓市 南充市 都江堰市 自貢市 瀘州市 廣元市 達州市 資陽市 綿陽市 眉山市 遂寧市 雅安市 閬中市 攀枝花市 廣漢市 綿竹市 萬源市 華鎣市 江油市 西昌市 彭州市 簡陽市 崇州市 什邡市 峨眉山市 邛崍市 雙流縣'''
city1 = city.split(" ")
#print(city1)
ChoiceCity = city1[int(random()*len(city1))]
Sex = [0,1]
ChoiceSex = Sex[int(random()*len(Sex))]
#print(ChoiceSex)
ChoiceAge = randint(18,60)
#salary 收入
ChoiceSalary = randint(20000,400000)
#print(ChoiceSalary)
ChoiceSalary1 = randint(20000,400000)
person = {"name":ChoiceName,"City":ChoiceCity,"Age":ChoiceAge,
"Salary":ChoiceSalary, "Sex":ChoiceSex,
"aim":ChoiceCity+","+">"+str(ChoiceSalary)+","+str(1-ChoiceSex)}
#生成500男 ,500女, 待參加非誠勿擾
'''
Candidate = []
for i in range(0,1000):
# 為假人隨機選擇城市
name = '''苗惠文、黃士豪、林彥海、丁文欣、陳慈云、張雅臻、黃慧萍、馮茹琬、林凡潔、倪欣穎、林重伯、張哲綠、曾詩涵、邱冠儒、張水蓉、楊秀慧、劉意霖、陳怡哲、戈怡萍、常倫怡、郭均冰、陳怡侑、楊智嘉、吳冠倫、劉彥蓮、懷得禎、江美惠、劉依婷、李千紫、蕭健銘、黃惠白、趙靜怡、梁淑娟、鄧圣文、吳靜吟、黃冠勛、楊雅茹、楊佩芬、羅羽江、黎志杰、陳永賢、張水英、黃陽任、郭駿凡、林潔慈、曾克雄、林華山、陳玉翰、沈榮嘉、甯國華、王志杰、嚴蕓豪、陳宛娥、林上盈、張志文、王昱宏、程柏儒、謝欣潔、陳建蘋、黃柏政、侯左順、張順雪、吳志容、謝宛夢、王怡陽、劉任瑋、張宛君、吳俊定、劉雅文、伍駿維、楊佳穎、林喬齊、李瑩茜、李慧勇、周俊逸、王天芬、陳淑惠、楊雅旺、金志瑞、王恭吟、蘇辛輝、趙國君、吳雅芬、王嘉祥、鄭雅泉、陳雅婷、王鳳珠、郭康芝、陳孟菁、林承江、黃依婷、黃山穎、楊人名、李淑芬、吳威德、王圣義、黃嬌旭、朱宜欣、陳振江、郭智強、許翰蕓、錢雯升、陳柏德、謝文祥、陳婉君、林玉樺、隆馨妤、劉倫齊、張珊郁、王妙睿、李威珮、鄧富勛、楊舒原、謝佳嘉、張明名、王志銘、李采威、劉愛惠、吳筱蕓、劉依婷、趙俊嘉、黃志法、陳友漢、楊映維、謝佳宏、投訓雯、廖宏達、黃怡禎、陳世英、馬志文、謝欣青、林鈞嬌、鐘雅雯、張貞依、阮佩璇、劉威廷、黎靖凱、黃晏輝、古馨文、黃盈甄、吳佳皓、賴玉婷、李珮君、張哲嘉、蔡儀諭、林建堅、張莉海、李庭俊、吳維倫、吳盈甄、陳怡秀、林瑋真、張孟穎、蔡明幸、許淑芳、李偉倫、張文達、吳思義、吳宗妃、徐盈如、蔡承祥、洪雅娟、林淑芳、阮呈信、涂彥均、張薇芳、戴任發、黃子友、丁昆來、王成茹、陳展忠、李雅惠、陳萱翰、蘇士銘、庾思婷、連俊明、黃明心、陳蓉育、馮宇翔、吳欣美、李佩堅、李雅玲、陳左綺、黃千惠、姜懿書、林詩寧、謝泓圣、趙宛喬、袁巧堯、趙文欣、張玉宣、林財潔、吳芳如、吳瓊慧、劉力靖、陳志治、毛蕙行、謝雅琪、劉禮緯、張崇維、羅翔欣、陳偉輝、夏允仲、郭真發、袁思涵、劉右德、周承翰、黃莉定、賴漢白、張怡樺、王俊旺、陳亦升、鐘可欣、蕭雅珍、李馨名、蔡馨偉、李淑緯、黃芳儀、李莉婷、荀淑敏、朱欣怡、李雅花、林詩麟、陳慧菱、趙崇秀、彭雅竹、趙奕君、林君均、張良合、蔡雅筠、周桂榮、邊倩季、王珊杰、林侑圣、蔡宜欣、張志蕓、黃美慧、王定星、徐俊維、蔣素儀、李政新、廖永芬、張淑夢、鄭哲凡、陳佳穎、劉依婷、陳信志、李佳學、黃珮純、趙天旭、周慧樺、陳允鈺、羅志祥、潘宛靖、葉尚霖、劉哲豪、林冠美、吳采舜、盧美舜、陳瑞昀、王泓志、鄭志豪、管廷盛、李志文、穆俊明、柳博易、黎逸書、何冠宏、楊晉仲、陳玫卿、邱力俊、黃儒禮、蔡倩亞、謝明憲、王靜怡、吳宣一、陳俊筠、郭秀娟、周美云、倪婉玲、徐均俐、郭文豪、楊予季、吳岳淳、蔡昱一、陳怡雯、林子元、李素男、徐俊云、陳芝凡、蘇雅芳、徐雅惠、林于真、黃士弘、李定劭、劉靜宜、吳美宇、張維凡、王志翔、張嘉雯、謝佩禎、陳欣瑄、賴明儒、黎馨儀、林曉霖、林怡君、李建廷、李怡伶、王麗仲、鄭仕麟、周志嘉、黃海嬌、陳民盈、陳石岳、李圣英、葉雅萍、黃偉智、翁若昌、璩美惠、李昀紹、柳昌凱、李宗秋、李美華、馬姿吟、趙佳靜、程成興、蔡育菁、陳俊憲、郭綠豪、林士法、王韻如、艾美娟、黃清宜、曹冠志、顏麗輝、煉訓娟、蔡秉孝、王怡松、庾皓治、黃育瑋、吳湘生、許皓吉、蔡姿婷、陳曉綸、楊火行、羅宜珊、曾鈺婷、錢杰意、金倩均、潘意書、謝冠宇、林崇東、陳千惠、林瑞妃、楊筱英、許雅雯、黃小竹、蔡惠雯、吳俊霖、王美泉、邱淑貞、吳志嘉、賴彥豪、陳映漢、蘇緯萍、蔡怡君、潘淑珍、余子杰、黃進如、溫佳蓉、高俊逸、鄭文松、王雅蓉、林佩玲、林佩雯、陳之映、王博文、苗杰慈、郭姿穎、高雅芬、蕭怡安、朱雅芳、李世杰、江雅雯、溫怡孜、呂偉誠、余得火、奚淑惠、陳正齊、吳政紫、楊庭舜、陳淑玲、楊郁翔、邱士賢、蔡家維、陳義成、張珊和、李政達、盧家瑜、黃珮俊、黃圣夢、張怡伶、王怡君、楊琬翰、杜偉來、謝勝瑞、強琳任、邱育治、劉秀娟、林秀佳、周筱婷、陳若臻、劉佩淑、魯俊賢、馬怡臻、黃健銘、洪貞儀、錢惠雯、張淳湖、袁宛臻、李紹辛、邱欣怡、陳宛臻、鐘倫勇、劉鈺雯、錢子紫、趙志偉、蘇慶昆、洪晉凱、沈佳儀、陳秀娟、許家海、李建宇、林秋生、劉玉娟、黃秀慧、蔣明哲、林智竹、張秀喬、黃婉婷、陳盈韋、黃美斌、吳書瑋、陳偉杰、謝秀娟、黃啟靖、林威友、張維梅、林詩康、李麗珠、杜惠如、別必斌、李明珠、邱欣怡、王志劭、高旭光、郭怡安、林湘樺、顏建輝、蕭冠中、吳智強、劉健毓、林怡恩、劉佳雯、張雅萍、劉上榮、童明輝、李宜俊、黃名倫、傅國妃、陳盈花、蔡建德、李淑梅、許名侑、倪協菁、邱淑惠、周小珮、倪昌萍、吳婉菁、劉美玲、呂奕君、張庭惟、李明治、王麗芬、林俊雅、陳雅如、倪富愛、李威倫、王嘉怡、蔡宗毅、黃山蓁、張詩哲、黃凱婷、文詩香、簡少霞、葛彥廷、蔡原士、白家慧、黃心怡、王木盛、施緯原、張家智、李彥志、陳玉婷、王信來、鄭玲德、陳偉誠、蘇建添、司俊宏、陳品旺、羅力惟、林玉珊、李慧君、傅欣怡、楊奇士、林雅婷、張賢堅、王朝佩、吳昀春、李政映、劉右峰、林志穎、胡銘育、黃鈺婷、王淑真、林勇意、謝玲伶、陳柔裕、李瑋婷、林家琴、陳怡璇、姚蘭妤、陳致威、那鎮宇、黃柏義、鄭念寶、任莉婷、張俊瑋、吳雨紹、鄭佑瑤、楊羽福、蔡明均、徐意學、張雯堅、姜季亞、陳偉茹、楊雯泰、陳健白、林國蘋、崔巧娟、陳雅萍、張美淑、吳梅育、陳美君、陳怡如、陳志玉、黃任靖、蔡舒婷、張文賢、謝彥廷、許惠賢、鄧秀芬、袁芳儀、劉星峰、游政勛、王雅萍、張惠義、趙蘭紫、盧雨行、陳雅婷、鞠彥宇、黃志平、謝美珍、孫志豪、許美玲、劉千慧、林國舜、吳建秀、蘇俊諺、李志偉、鄭俊毅、藍紹良、吳家銘、陳郁雯、江慈舜、張凱玲、蔡美玲、許姿瑩、林美華、郭玟旺、余兆美、王力璇、羅振瑋、賴怡君、許怡菁、李宜威、吳懿珮、林奕蓁、劉志軒、林堅岳、溫怡菁、鄭潔娟、陳淑君、吳佳琪、蔡玉芳、藍裕中、許毅雪、侯雅玲、王珍俐、謝文宇、周惠敏、謝文泉、張信韋、陳嘉琪、王俊賢、汪筱冰、楊志瑞、李珮喜、林雅婷、林羽泰、邱雅筑、李采霖、楊雅雨、黃怡伶、白峻豪、黃桂雪、林以合、葉凱鈞、陳嘉萱、陳亦諭、陳茂堯、方文杰、李政璇、王嘉維、林左祥、劉竣柔、陳小薇、林宜銘、黃筱杰、陳志文、趙忠君、賴靜宜、楊俊安、吳柏云、黃嘉琪、羅雅如、林馨儀、王嘉睿、鄭宗璇、張怡君、楊舒東、張奇妹、李歡任、趙明慧、吳坤娥、蔡欣成、周定升、劉明秀、韓可瑋、王鈺竹、陳毅婷、彭麗卿、郭勇堯、丁靜怡、劉上啟、郭冠翰、羅靖欣、李怡慈、鄭家賢、鄧蕓鴻、謝心湖、張博琇、張朝志、陳姿吟、陳行嘉、李威亞、黃勇志、廖淑玲、朱嘉玲、劉怡辰、張維青、李威文、吳婷婷、韓仁杰、張真心、蔡宥木、何怡君、蕭協吉、林宜欣、宋智翔、李珮民、李彥霖、吳姵儀、徐夢財、陳淑芬、杜巧瑩、吳勛妃、楊柏豪、劉惟恭、謝海堯、白可欣、李之升、黃世豪、王素玟、蔡明恭、張毓依、陳靜昌、趙靜怡、藍宏儒、王志緯、王雅婷、郭建安、王明恭'''
name1 = name.split("、")
ChoiceName = name1[int(random() * len(name1))]
# print(ChoiceName)
city = '''成都市 廣安市 德陽市 樂山市 巴中市 內江市 宜賓市 南充市 都江堰市 自貢市 瀘州市 廣元市達州市 資陽市 綿陽市 眉山市 遂寧市 雅安市 閬中市 攀枝花市 廣漢市 綿竹市 萬源市 華鎣市 江油市 西昌市 彭州市 簡陽市 崇州市 什邡市 峨眉山市 邛崍市 雙流縣'''
city1 = city.split(" ")
# print(city1)
ChoiceCity = city1[int(random() * len(city1))]
Sex = [0, 1]
ChoiceSex = Sex[int(random() * len(Sex))]
# print(ChoiceSex)
ChoiceAge = randint(18, 60)
# salary 收入
ChoiceSalary = randint(20000, 400000)
#print(ChoiceSalary)
ChoiceSalary1 = randint(20000, 400000)
person = {"name": ChoiceName, "City": ChoiceCity, "Age": ChoiceAge,
"Salary": ChoiceSalary, "Sex": ChoiceSex,
"aim": ChoiceCity + "," + str(ChoiceSalary) + "," + str(1 - ChoiceSex)}
Candidate.append(person)
count = 0
for 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["Salary"]) and int(i["aim"].split(",")[2]) == j["Sex"] :
print("姓名:{}與姓名:{}配對成功".format(i["name"],j["name"]))
count +=1
break
print("%d配對成功"%count)
效果如下:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/227539.html
標籤:python
