封装2:实现功能可以返回随机的 10 个数字,随机的 10 个字母,随机的 10 个字母和数字的组合;

本文介绍了一种封装方法,能够生成包括10个随机数字、10个随机字母以及10个随机字母和数字组合的字符串,这些功能适用于创建强密码数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

封装功能:实现功能可以返回随机的 10 个数字,随机的 10 个字母,随机的 10 个字母和数字的组合;
解决问题:用于生成强密码数据;

import random
class random_letter_digit(object):
    def __init__(self):
        self.lowercase = list(map(lambda x:chr(x),range(97,123)))
        self.uppercase = list(map(lambda x:chr(x),range(65,91)))
        self.digit = '1234567890'
        self.type_value = {0:self.digit,1:self.lowercase,2:self.lowercase }
          
    def get_lowercase(self):
        return self.lowercase

    def get_uppercase(self):
        return self.uppercase

    def get_digit(self):
        return self.digit

    def get_random_letter_digit(self,num,targ=None):
        if targ is None:
            return '请选择随机数的类型,0表示数字,1表示字母,类型用逗号分隔'
        if len(targ)==1:
            return ''.join(list(map(lambda x:random.choice(self.type_value[targ[0]]),range(num))))
        else:
            while 1:
                combination = []
                for i in range(len(targ)):
                    combination.append(random.randint(1,num))
                if sum(combination)==num:
                    print('组合',combination)
                    break
            result = []
            for j in range(len(targ)):
                result += list(map(lambda x:random.choice(self.type_value[targ[j]]),range(combination[j])))
            random.shuffle(result)
            return ''.join(result)
            

if __name__ == '__main__':
    rld = random_letter_digit()
    print(rld.get_lowercase())
    print(rld.get_uppercase())
    print(rld.get_digit())
    #'请选择随机数的类型,0表示数字,1表示字母,类型用逗号分隔'
    print(rld.get_random_letter_digit(10,targ=[0,1]))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值