0
点赞
收藏
分享

微信扫一扫

【Android楚君】【Python洪君】生成姓名: 根据性别、字数随机生成好听的名字

"""
 -*- 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))

举报

相关推荐

0 条评论