|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import random
k=random.randint(8,12)
ls=[0 for i in range (0,k)]
ls1=[random.randint(0,k)for i in range(0,random.randint(1,k-1))]
for i in ls1:
ls[i]=chr(random.randint(97,122))
ls2=[random.randint(0,k)for i in range(0,random.randint(1,k-1-len(ls1)))]
for i in range(len(ls2)):
if ls2[i] not in ls1:
ls[ls2[i]]=chr(random.randint(65,90))
else:
False
ls3=[random.randint(0,k)for i in range(0,random.randint(1,k-1-len(ls1)-len(ls2)))]
for i in range(len(ls3)):
if ls3[i] not in ls1+ls2:
ls[ls3[i]]=random.choice('$','#','%','&')
else:
False
ls4=[random.randint(0,k)for i in range(0,random.randint(1,k-1-len(ls1)-len(ls2)-len(ls3)))]
for i in range(len(ls4)):
if ls4[i] not in ls1+ls2+ls3:
ls[ls4[i]]=random.randint(0,9)
else:
False
print (ls)
ls[i]=chr(random.randint(97,122))
IndexError: list assignment index out of range
第六行这里为什么说超出范围了啊?
ls[ls3[i]]=random.choice('$','#','%','&')
TypeError: choice() takes 2 positional arguments but 5 were given
请问这样报错是什么意思啊
wadmdmaw 发表于 2022-4-4 23:51
题目:随机产生一个8到12位密码,要求包含英文字符的大小写、数字字符以及至少一个$,#,%,&中的特殊字符
random.choice(['$','#','%','&'])
或者
random.choice('$#%&')
|
|