定义函数基础阶段第11例
from random import randint,sample,choice
#t:类型,t0时,纯数字,t1,纯字母,t2,数字加字母
def ran_str(l=4,t=0): #参数默认,联想到手机验证码,通常情况是四位数
ret=’’
if t0:
# 第一种: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
字符串元素的提取和添加
灵活运用空字符串一节相加的运算