生成指定长度,指定类型的随机字符串(类似短信验证码),参数:长度、类型

本文深入探讨了Python中随机字符串生成器的实现细节,包括如何使用随机模块的sample,randint和choice函数来生成不同类型的随机字符串,如纯数字、纯字母及数字加字母组合。此外,还讲解了字符串元素的提取、增加以及ASCII码和字符之间的转换。

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

定义函数基础阶段第11例
from random import randint,sample,choice
#t:类型,t0时,纯数字,t1,纯字母,t2,数字加字母
def ran_str(l=4,t=0): #参数默认,联想到手机验证码,通常情况是四位数
ret=’’
if t
0:
# 第一种:for i in range(l):
# ret+=str(randint(0,9))
ret=’’.join(choice(‘0123456789’)for i in range(l))

elif t==1:
    s='abcdefghijklmnopqrstuvwxyz'
    s+=s.upper()
    ret=''.join(sample(s,l))  #想到选取和增加元素额的办法,sample,join

elif t==2:
    for i in range(l):
        tp=randint(0,2)  #在t==2的前提下,想办法每次的可能,增加随机变量tp用来代表3种每次选择可能
        if tp==0:
            ret+=str(randint(0,9))  #此次注意转换为字符串的形式
        elif tp==1:
            ret+=str(chr(randint(97,122)))  #ASCII码和字符的转换
        elif tp==2:
            ret+=str(chr(randint(65,90)))
else:
    print('不支持的类型')
    return None
return ret

print(ran_str(8,0))

总结:一定要熟悉for i in range()遍历的用法
此题中包含了随机模块中函数的灵活运用,sample,randint,choice
字符串元素的提取和添加
灵活运用空字符串一节相加的运算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值