关闭

Person模拟

标签: python
192人阅读 评论(0) 收藏 举报
分类:
#coding=utf-8

import random

persons = []

class Person():
    def __init__(sepersonsf,age):
        sepersonsf.age = age
        sepersonsf.sexy = random.randint(0,1)

def grow_up():
    for i in persons:
        i.age += 1

def dead():
    for i in persons:
        if 0<i.age<=20 and random.randint(0,100)<5:
            persons.remove(i)
        if 20<i.age<=40 and random.randint(0,100)<10:
            persons.remove(i)
        if 40<i.age<=60 and random.randint(0,100)<15:
            persons.remove(i)
        if i.age>60 and random.randint(0,100)<30:
            persons.remove(i)

def born():
    man = 0
    woman = 0
    for i in persons:
        if 20<i.age<40:
            if i.sexy:
                man += 1
            else:
                woman += 1
    for i in range(min(man, woman)):
        if random.randint(0,100)<50:
            persons.append(Person(0))

def show_msg():
    man = 0
    woman = 0
    for i in persons:
        if i.sexy:
            man += 1
        else:
            woman += 1
    print("总人数:%d 男性:%d 女性:%d" % (len(persons), man, woman))
            

def init():
    for i in range(5000):
        persons.append(Person(20))

init()
for i in range(100):
    print("第%d年:" % (i+1))
    show_msg()
    born()
    dead()
    grow_up()

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:90243次
    • 积分:2240
    • 等级:
    • 排名:第17428名
    • 原创:135篇
    • 转载:38篇
    • 译文:1篇
    • 评论:9条
    文章分类
    最新评论