栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 产生指定要求的字符串

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 产生指定要求的字符串

产生6个字符的一组字符串,全是小写:vnqkur
产生6个字符的一组字符串,全是数字:566574
产生6个字符的一组字符串,由数字和小写组成:yupvs0
产生6个字符的一组字符串,由数字、小写、大写组成:wprjNk
产生6个字符的5组字符串,全是数字:['065257', '530196', '780456', '272832', '537651']
产生6个字符的5组字符串,由数字和小写组成:['fz0x6m', 'o3ug9r', '0q522e', 'k2270r', '8ifui6']
产生6个字符的一组字符串,由数字、小写、大写组成:['51Aqmm', 'ECo4bS', 'XQ455E', 'iw7IFU', 'jd09OF']
产生2个字符的10组不重复的字符串,全是数字:['85', '32', '46', '30', '44', '01', '34', '20', '04', '45', '66', '98', '75', '00', '07', '78', '80', '15', '74', '21']
产生1个字符的50组不重复的字符串,全是数字、小写:实际长度只能是: 36 ['3', '5', 'i', 'd', '1', 'b', '0', '6', '8', 'x', 'k', '7', 'n', 'u', '4', '2', 'h', 'c', 'y', 'q', 'e', 'p', 'o', 'f', 'm', 'z', 't', '9', 'a', 'j', 'l', 'w', 'g', 's', 'v', 'r']
产生6个字符的5组不重复的字符串,全是数字、小写、大写:['4', 'x', 'u', 'l', '9', 'G']

import random


# 准备三个函数

# 产生一个随机数字
def rndNum():
    char = random.randint(48, 57)
    return chr(char)


# 产生一个随机小写字母
def rndLower():
    char = random.randint(97, 122)
    return chr(char)


# 产生一个随机大写字母
def rndUpper():
    char = random.randint(65, 90)
    return chr(char)


# 编写一个函数
def fun(param):  # 一个整数参数
    st = ""
    for i in range(0, param):
        a = random.randint(97, 122)
        st += chr(a)
    return st  # 返回一个参数对应的长度的小写英文字符组成的字符串(字符随机)


# 编写一个函数
def fun1(lens, type=1):  # 第一个参数是长度,第二个参数是返回字符串的内容样式
    st = ""
    for i in range(0, lens):
        if type == 1:  # 只包含数字
            st += rndNum()
        elif type == 2:  # 数字和小写英文字符
            n = random.randint(1, 2)
            if n == 1:
                st += rndNum()
            else:
                st += rndLower()
        elif type == 3:  # 数字 小写 大写
            n = random.randint(1, 3)
            if n == 1:
                st += rndNum()
            elif n == 2:
                st += rndLower()
            else:
                st += rndUpper()
    return st  # 返回一个参数对应的长度的字符串(字符随机)


def fun2(size, lens, type=1):  # 第一个参数是个数,第二个参数是长度,第三个参数是样式
    lst = []
    for i in range(0, size):
        lst.append(fun1(lens, type))
    return lst


def fun3(size, lens, type=1):  # 第一个参数是个数,第二个参数是长度,第三个参数是样式
    lst = []
    while len(lst) != size:
        if type==1 and len(lst)==lens*10:
            break
        if type==2 and len(lst)==lens*(10+26):
            break
        if type==3 and len(lst)==lens*(10+26+26):
            break
        st = fun1(lens, type)
        if st not in lst:
            lst.append(st)
    return lst


print('产生6个字符的一组字符串,全是小写:', end='')
print(fun(6))

print('产生6个字符的一组字符串,全是数字:', end='')
print(fun1(6, 1))


print('产生6个字符的一组字符串,由数字和小写组成:', end='')
print(fun1(6, 2))

print('产生6个字符的一组字符串,由数字、小写、大写组成:', end='')
print(fun1(6, 3))


print('产生6个字符的5组字符串,全是数字:', end='')
print(fun2(5, 6, 1))


print('产生6个字符的5组字符串,由数字和小写组成:', end='')
print(fun2(5, 6, 2))

print('产生6个字符的一组字符串,由数字、小写、大写组成:', end='')
print(fun2(5, 6, 3))

print('产生2个字符的10组不重复的字符串,全是数字:', end='')
print(fun3(100, 2, 1))

print('产生1个字符的50组不重复的字符串,全是数字、小写:', end='')
st = fun3(50, 1, 2)
print("实际长度只能是:",len(st),st)


print('产生6个字符的5组不重复的字符串,全是数字、小写、大写:', end='')
st = fun3(6, 1, 3)
print(st)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/840266.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号