"""
-*- coding:utf-8 -*-
@Time   :2020/12/15 15:50
@Author : Python洪君
@File   :xingming.py
@Version:1.0
"""
import random


class RandomUtil:
    # 1 姓氏(所有姓氏)
    NAME_XING = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '褚', '卫', '蒋', '沈', '韩', '杨', '朱', '秦', '尤', '许']
    # 2 名字(这里只用几个名字 做演示即可)
    # 2.1 男孩名字
    NAME_BODY_MING = ['壮', '昱杰', '开虎', '凯信', '永斌', '方洲', '长发', '可人', '天弘', '炫锐', '富明', '俊枫']
    # 2.2 女孩名字
    NAME_GIRL_MING = ['小玉', '蓝', '琬郡', '琛青', '予舴', '妙妙', '梓茵', '海蓉', '语娜', '馨琦', '晓馥', '佳翊']

    def random_name_str(self, gender, is_two_xing=False):
        """
        生成随机姓名
        :param gender: 性别(男、女)
        :param is_two_xing: 姓是否是2个字的(默认是1一个字的姓)
        """
        # step1 生成姓
        xing = ''
        if is_two_xing:
            while True:
                xing_two = self.NAME_XING[random.randint(0, len(self.NAME_XING) - 1)]
                if len(xing_two) == 2:
                    xing = xing_two
                    break
        else:
            while True:
                xing_one = self.NAME_XING[random.randint(0, len(self.NAME_XING) - 1)]
                if len(xing_one) == 1:
                    xing = xing_one
                    break

        # step2 生成名
        ming = ''
        if gender == '男':
            ming = self.NAME_BODY_MING[random.randint(0, len(self.NAME_BODY_MING) - 1)]
        elif gender == '女':
            ming = self.NAME_GIRL_MING[random.randint(0, len(self.NAME_GIRL_MING) - 1)]
        else:
            print('性别错误')

        return xing + ming


if __name__ == '__main__':
    print('姓为1个字的男孩名字:' + RandomUtil().random_name_str('男'))
    print('姓为1个字的女孩名字:' + RandomUtil().random_name_str('女'))
    print('姓为2个字的男孩名字:' + RandomUtil().random_name_str('男', is_two_xing=True))
    print('姓为2个字的女孩名字:' + RandomUtil().random_name_str('女', is_two_xing=True))