zoukankan      html  css  js  c++  java
  • python练习六十八:字符串练习

    题目:一个商城在搞抽奖的活动,需要在搞活动的宣传单上印刷优惠卷的验证码,验证码规定20位,生成100个

    先来个简单的,20位码中只取数字

    import random
    def num_1(num):
        leng = 0
        a = ''
        while leng < num:
            i = random.randint(0, 9)
            a += str(i)
            leng += 1
        return a
    
    if __name__ == "__main__":
        list1 = []
        num = 20
        for i in range(100):
            list1.append(num_1(num))
        print(list1)

    再来个数字字母都取得,用到random模块的两种方法,分别验证

    一、random.randint

    import random
    import string
    
    def random_count(count):
        chars = string.ascii_letters + string.digits
        z = ''
        for i in range(count):
            j = random.randint(0, len(list(chars))-1) #获取随机数在0和char长度范围内,然后将char中j索引的字符添加到z中,执行该操作20次
            z += list(chars)[j]
        return z
    
    if __name__ == "__main__":
        for i in range(100):
            print(random_count(20))

    二、random.choice

    import random
    import string
    
    chars = string.ascii_letters + string.digits
    def generate_code(count,length):
        z = ""
        for x in range(count):
            j = random.choice(chars) #获取chars中随机的字符,并将其追加到z,循环count次后得到结果
            z += j
        return z
    
    if __name__ == "__main__":
        for i in range(100):
            print(generate_code(20,10))

    后面做个汇总的,这个是生成后有连接符号的

    import random
    import string
    
    #string.ascii_letters 26个大小写,string.digits 0-9数字
    chars = string.ascii_letters + string.digits  #获得激活码中的字母和数字组合
    print(chars)
    
    def getRandom(): # 获得4位数激活码
        return "".join(random.sample(chars, 4))
    
    def concatenate(group):# 获得4列4位数激活码 以"-"串联
        return "-".join([getRandom() for i in range(group)])
    
    def generate(n):# 生成n组4列的16位激活码
        return [concatenate(4) for i in range(n)]
    
    
    if __name__ == '__main__':
        print(getRandom())
        print(concatenate(4))
        print(generate(5))

  • 相关阅读:
    java 多线程 Future callable
    nginx Access-Control-Allow-Origin css跨域
    maven 项目调试本地代码
    tomcat -ROOT 与webapps 的关系,关于部署的一些问题
    需求分析,挖掘背后的原因
    js 短信验证码 计时器
    总结一些小问题
    基于synchronized 或 ReadWriteLock实现 简单缓存机制
    java cookie 工具类
    309. 最佳买卖股票时机含冷冻期
  • 原文地址:https://www.cnblogs.com/pinpin/p/10412112.html
Copyright © 2011-2022 走看看