一、问题描述。
编写程序。在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。

二、问题分析。
因为要在列表中随机生成密码,故需要将26个大、小写字母和9个数字存放在同一个列表中。
首先使用string模块中的ascii_letters和digits方法来引入大、小写字母与0-9的数字,然后用list()函数将字符串转换为列表,编写一个函数,可以输入想要的随机密码的个数,然后利用random库中的choice()函数生成密码。

三、代码示例。

import random
import string
s=string.ascii_letters+string.digits         #“+”为字符串连接符
ls=[]                  #初始化ls为空列表
ls=list(s)           #将字符串s中的字符存放于列表ls中
def getkey(): 
    times=input("请输入要获取的随机密码个数:") 
    for t in range(eval(times)):              #随机密码个数
        key=[]
        print("生成的随机密码为:")              #此行可省略
        for i in range(8):
            k=random.choice(ls)               #choice()函数可从序列类型中随机返回一个元素
            key.append(k)					#将新元素加入到key列表的末尾
        for n in key:                      #遍历key列表
            print(n,end="")              #以一行的格式打印密码
        print("\n")
getkey()

python代码socket 随机密码Python代码_字符串


四、总结。

感觉代码还是太复杂,还需设法简化。

其实也可以直接用choice()函数从字符串中随机取元素,但是题目说要从列表中取元素,所以也就多了不必要的一步。

若有错误,敬请指正。