Python学习-假人和配对

这次写一个生成假人以及假人配对的代码吧。

1.导入函数库

导入random, choices, randint这三个函数库来达到随机生成假人,随机选择数据的目的。

from random import random, choices, randint

2.生成假人

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)
    SexText = [0,1] # 0代表男 1代表女
    ChoiceSex = SexText[int(random() * len(SexText))]
#  print(ChoiceSex)
    ChoiceAge = randint(18,50)
    ChoiceIncome = randint(20000,600000)
    Education = ["高中","初中","中专","大专","博士","硕士","本科"]
    ChoiceEducation = Education[int(random() * len(Education))]
# print(ChoiceAge)
# print(ChoiceIncome)
# print(ChoiceEducation)
    person = {
     "name":ChoiceName,"Sex":ChoiceSex,"Age":ChoiceAge,
            "Education":ChoiceEducation,"Income":ChoiceIncome,"City":Choicecity,
            "aim":Choicecity + "," + str(ChoiceIncome) + "," + str(1 - ChoiceSex)}
    Candidate.append(person)
#print(person)

3.假人配对

1.通过双重循环随机配对,配对成功就break
2.格式化输出配对成功的假人
3.可以加上count来计算配对成功的对数。

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["Income"]) and int(
                    i["aim"].split(",")[2]) == j["Sex"]:
                print("{}与{}配对成功".format(i["name"], j["name"]))
                count += 1
                break
print("%d对配对成功" % count)

结果如下(每次运行结果不同,是随机的):
Python学习-假人和配对_第1张图片

你可能感兴趣的:(python学习,python)