用python统计一共多少个姓(2023年最新整理)

请教下,用python统计一共多少个姓(2023年最新整理)
最新回答
北极甜虾

2024-11-03 04:23:12

导读:今天首席CTO笔记来给各位分享关于用python统计一共多少个姓的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

用python怎么打出100个姓名

用python100个姓名的方法如下:

1、做好前期准备工作,姓是固定的,名是随机的,因此可以通过随机调用常用汉字来匹配成为姓名,。

2、导入随机库,整理常见的姓氏为一个数组。

3、导入常用汉字,并打乱顺序。

4、进行字节随机拼接。

使用Python自动统计列表中的男生女生人数

在开始这个项目之前,我们先了解一下类变量的基础知识:

静态属性==实例变量/成员变量

动态属性==实例函数(方法)/成员函数(方法)

每一份实例都有自己独立的一份数据;

对于公共的数据(对每个对象没有差异的数据),我们把它定义成实例变量是不合理的。我们只需要存储一份,应该把它定义成类变量,所有的对象后期调用的时候直接调用类变量就可以了。这样可以提高运行速度、节约对象实例化的内存资源。

类变量一般位于类名称的下面,构造函数的上面;

类变量只存储一份,存储在类空间中,在每个对象的空间中不需要存储类变量

在类中访问类变量:类名.类变量名称

在对象中访问类变量:类名.类变量名称或者对象名.类变量名称

推荐:如果访问类变量,最好还是通过类名.类变量名称来进行访问。

如果类变量与实例变量同名,使用对象名.类变量名访问,优先访问的是实例变量。

原则:变量通过对象名.变量名的方式访问时,优先在当前对象中查找有没有该变量名,如果没有则去类空间中查找该变量名。

我们搭建一个可以统计学生人数的窗体,包括男生人数和女生人数:

前面的界面我们已经搭建好啦,现在我们要写一个student模块来实现数据统计的功能。

学生列表、男生人数、女生人数,我们将其作为类变量存储在Student类中,我们定义一个load_student函数用来读取文件中的学生信息,并实现男生女生人数的统计功能

为了防止每次实例化这个类的时候,类变量收到干扰;我们定义一个机制:在Student类的构造方法中,在调用load_student方法前先判断一下,如果类变量student_list数据为空,则需要导入,否则不导入数据。

现在我们把GUI与后台的功能做一个整合,这里我们定义一个控制程序start.py,作为程序的入口;

现在已经可以从程序入口打开GUI了,但是还没有显示人数、表格中的数据也没有显示。所以我们需要在studentgui中再添加一个load_student_info函数,将功能函数获取到结果加载到GUI界面中。这里主要做两件事:

先实例化操作学生的类,

没有实例变量,实例化还有什么用?实际上,如果不实例化的话,Student类中的数据是无法导入到StudentGUI中来用的。

实例化完成后,在StudentGUI中直接给显示学生人数的变量设置值即可:

给GUI界面的TreeView表格填充数据,填充之前先将TreeView清空:

然后判断传递过来的student_list里是否有数据,如果没有数据则弹出警示框,有数据则使用insert方法逐行插入数据:

至此,我们的项目已经基本完成了

python分析人数最多的姓氏

先收集常见姓氏列表,获取姓名的第一个字,然后在姓氏列表中匹配,如果找到那么姓氏就是这个字,如果没找到就尝试姓名前两个字,如果还没找到就尝试更多字(当然中国姓氏一般就两字,我还没见过两字以上的姓)或者手动辨别姓氏,然后把姓氏补充进列表。这种思路的问题在于复合姓可能会出问题,比如”司“和”司马“,脚本识别出的姓会是”司“。#!/usr/bin/envpython

#-*-coding:utf-8-*-

#Python版本需要为3.5以上

first_names=('李','王','司','司马')

defname_parser(name,first_name_count=1):

"""

分析姓名,返回姓和名的元组

:paramstrname:姓名

:paramintfirst_name_count:姓氏长度,默认为1

:return:姓和名的元组,如果没分析成功就返回空元组

:rtype:tuple

"""

ifname[0:first_name_count]infirst_names:

return(name[0:first_name_count],name[first_name_count:])

else:

return()

if__name__=='__main__':

#name.txt需要为UTF-8编码,如果为其他编码,自行优化处理

withopen('name.txt','r',encoding='utf-8')asf:

foriinf:

name=i.rstrip('\n')

#最多尝试两字的姓

forninrange(1,3):

s=name_parser(name,n)

ifs:

print('{}的姓氏为:{},名字为:{}.'.format(name,s[0],s[1]))

break

else:

print('未分析出{}的姓氏和名字,可能需要补充姓氏列表.'.format(name))

结语:以上就是首席CTO笔记为大家介绍的关于用python统计一共多少个姓的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。