[从头学数学] 第50节 复式统计表

剧情提要:
[机器小伟]在[工程师阿伟]的陪同下进入练气期第六层功法的修炼,
这次要修炼的目标是[复式统计表]。

正剧开始:

星历2016年01月17日 15:01:25, 银河系厄尔斯星球中华帝国江南行省。
[工程师阿伟]正在和[机器小伟]一起研究[统计]。




[人叫板老师指出相同的统计内容可以集中在一张表中。


小伟决定生成一个虚拟的样本集合。

首先是产生人名:

<span style="font-size:18px;">#生成30个人名
def tmp():
    import random;
    #构建姓名集
    familyName = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '缪', '孔'];
    middleName = ['', '梅', '兰', '清', '春', '夏', '松', '祥', '日', '月'];
    lastName = ['华', '光', '辉', '宝', '珠', '福', '贵', '天', '伟', '云'];
    nameArray = [];

    name = '';
    size = 30;

    for i in range(size):
        name = '';
        name += familyName[random.randrange(0, len(familyName))];
        name += middleName[random.randrange(0, len(middleName))];
        name += lastName[random.randrange(0, len(lastName))];
        nameArray.append(name);
    print(nameArray);
    print(len(nameArray));

    setA = set(nameArray);
    print(setA);
    print(len(setA)); 
    
    return;
	
得到:
['周福', '孔夏伟', '吴福', '吴清珠', '缪夏宝', '郑夏光', '吴春辉', '郑祥贵', 
'钱夏珠', '郑日贵', '孙日福', '缪珠', '王宝', '王月珠', '王兰云', '孔日光', '
郑夏天', '郑梅辉', '孙月福', '吴梅福', '李梅福', '孔春天', '孔月珠', '李兰福', 
'郑兰伟', '郑春宝', '钱梅宝', '孙梅福', '周月华', '赵清贵']
	
</span>

接着得到每项活动喜爱的人数:

<span style="font-size:18px;">#生成两组计数
def tmp2():
    import random;

    count = [];
    
    for i in range(5):
        count.append(random.randrange(1, 8));

    count.append(30- sum(count));
    print(count);
	
得到:
[2, 3, 1, 3, 3, 3]
[3, 2, 3, 2, 3, 2]</span>


如果要从总集中选择样本,怎样做呢?是这样的:

<span style="font-size:18px;">#从总集中选择样本
def tmp3():
    import random;
    a = ['周福', '孔夏伟', '吴福', '吴清珠', '缪夏宝'];
    b = random.sample(a, 2);
    print(b);</span>

得到:

['孔夏伟', '缪夏宝']

不过,虚拟的总归比不过真实的调查表来得好,也没什么好玩的。



[从头学数学] 第50节 复式统计表_第1张图片


<span style="font-size:18px;">def tmp():
    score = ['优', '良', '及格', '不及格'];
    boy = ['良', '优', '及格', '良', '不及格', '及格', '优', '良', '及格', '良'];
    girl = ['良', '及格', '优', '良', '及格', '及格', '良', '及格', '优'];

    for i in range(len(score)):
        print(boy.count(score[i]), end = ' ');

    print('\n');

    for i in range(len(score)):
        print(girl.count(score[i]), end = ' ');</span>


本节到此结束,欲知后事如何,请看下回分解。



你可能感兴趣的:([从头学数学] 第50节 复式统计表)