随机生成10个长度在[3,10]之间的、包含英文、数字的字符串,并输出其中最长和最短的字符串

例如:
随机字符串为:
['BfZMp', 'DRCnvxTDnj', 'z97HNd', 'CgnO', 'Q0ylcfoeb9', 'QoMRlXta8g', 'yo21hIfhKG', 'zl27B3lIeb', 'sHXX3r3', '48J']
最短的字符串为: 48J
最长的字符串为: zl27B3lIeb

  1. string模块

    从string模块中,导入两个常量

    from string import ascii_letters, digits

    所有的英文字母和数字为

    print(ascii_letters+digits)

    输出结果为

    'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
  2. 字符列表的拼接

    使用空字符串,连接列表['a', 'b', 'c']的每个元素

    ''.join(['a', 'b', 'c'])

    拼接结果为

    'abc'

    使用逗号,连接列表['a', 'b', 'c']的每个元素

    ','.join(['a', 'b', 'c'])

    拼接结果为

    'a,b,c'
    好困难orz 这要怎么学啊

import string, random

s = list(string.digits + string.ascii_letters)
random.shuffle(s)
res = [''.join(random.choices(s, k = random.randint(3, 10))) for i in range(10)]

max_s = max(res, key = lambda x: len(x))
min_s = min(res, key = lambda x: len(x))
print(f"最短的字符串为:{min_s}")
print(f"最长的字符串为:{max_s}")
from string import ascii_letters, digits
from random import randint
lst = ascii_letters + digits  #待取字母和数字
a = []  #用来存放10组字符串的list
for _ in range(10):  #循环10次
    n=randint(3,10)  #随机生成3-10个长度
    s=str()  #一个空字符串
    for _ in range(n):  #循环n次
        s += lst[randint(0,26+26+9)]  #随机位置取字符拼接进str里
    a.append(s)  #把str放到list里

maxstr=str()  #最长的字符串,先让它是个空字符串
minstr='12345678901'  #最短的字符串,先让它比list里任何字符串都要长

for x in a:
    if len(x)>len(maxstr):
        maxstr=x
    elif len(x)<len(minstr):
        minstr=x
print(maxstr,minstr)