• 一、业务场景-随机生成患者姓名


    一、需求:患者姓名2-20位中英文字符串

    二、用到的知识点

    1、随机生成汉字

    2、列表转换成str

    3、生成随机字符串

    三、代码示例

     1 #coding=utf-8
     2 import random
     3 import string
     4 
     5 
     6 class GenName():
     7     # 随机生成患者姓名:中文、英文、·默认长度2-20位
     8     def __init__(self, min_lenth=None, max_lenth=None):
     9         if min_lenth!=None:
    10             self.min_lenth = min_lenth
    11         else:
    12             self.min_lenth = 2
    13         if max_lenth!=None:
    14             self.max_lenth = max_lenth
    15         else:
    16             self.max_lenth = 20
    17 
    18     def chinese_char(self):
    19         #随机生成一个汉字
    20         head = random.randint(0xb0, 0xf7)
    21         body = random.randint(0xa1, 0xf9)  # 在head区号为55的那一块最后5个汉字是乱码,为了方便缩减下范围
    22         val = f'{head:x}{body:x}'
    23         str = bytes.fromhex(val).decode('gb2312')
    24         return str
    25 
    26     def chinese_str(self, num):
    27         #随机生成一个汉字字符串
    28         chars = []
    29         for i in range(num):
    30             chars.append(self.chinese_char())
    31         return ''.join(chars)
    32 
    33     def gen_random_name(self):
    34         #随机生成姓名:2-20个中英文字符
    35         return ''.join(
    36             random.choice(string.ascii_letters + self.chinese_str(10)) for _ in range(self.min_lenth, self.max_lenth))
    37 
    38 
    39 if __name__=="__main__":
    40     gen_name=GenName()
    41     print(gen_name.gen_random_name())
  • 相关阅读:
    JavaScript 属性和方法的类型
    2013年系统集成项目管理工程师真题 上午 附参考答案
    Openssl 学习—1.概述
    完成端口笔记
    激活 Microsoft office 2010、visio 2010方法
    Openssl 学习—0.基础
    socket编程入门(函数)
    Openssl 学习—3.RSA
    Openssl 学习—2.BIGNUM结构
    为什么百度有啊还不开始宣传!
  • 原文地址:https://www.cnblogs.com/loveapple/p/9359540.html
Copyright © 2020-2023  润新知