• python练习册 0002随机生成验证


    这个题需要用到random库的方法,不用就会忘,暂把random库的常用方法贴出来

    import random
    import string
     
    # 随机整数
    # randint(a, b),生成a~b之间的随机数a<=b
    # c_int = random.randint(100, 1) 错误
    a_int = random.randint(10, 20)
    b_int = random.randint(20, 20)
     
    # randrange(a, b, c)以c为步长生成a~b之间的随机数
    a_range = random.randrange(10, 20, 3)
     
    # random.random() 随机浮点数
     
    # 随机浮点数
    # uniform(a, b),生成a~b之间的随机浮点数
    a_uniform = random.uniform(1, 100)
     
     
    # 随机字符
    # random.choice('abc')
    a_choice = random.choice('abc')
     
    # 多个字符中选取特定数量的字符
    # random.sample('abcdef', 3)
    # 返回值为list
    a_sample = random.sample('abcdef', 3)
     
    # 从多个字符中选取特地数量的字符组成字符串
    # Python3中移除了string.join()方法,使用全局的join()
    a = ''.join(random.sample('abcbdjakbsdjkb', 3)
    --------------------- 
    作者:RJzz 
    来源:CSDN 
    原文:https://blog.csdn.net/jrrrj/article/details/81039124 
    版权声明:本文为博主原创文章,转载请附上博文链接!
    View Code

    以下是题解代码

    import random
    import string
    
    
    def generate(length, num):
        file = open('./code.txt', 'w')
        for i in range(num):
            s = ''.join((random.sample(string.ascii_uppercase + string.digits, length))
            file.write(s+“
    ”)
    
    
    generate(10, 20)

    没看懂string,ascii_uppercase+string.digits的含义但是能猜个大概,而后查的官方文档,自己英语也不是太烂啊,哈哈

    whitespace = ' 	
    
    vf'
    ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
    ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    ascii_letters = ascii_lowercase + ascii_uppercase
    digits = '0123456789'
    hexdigits = digits + 'abcdef' + 'ABCDEF'
    octdigits = '01234567'
    punctuation = r"""!"#$%&'()*+,-./:;<=>?@[]^_`{|}~"""
    printable = digits + ascii_letters + punctuation + whitespace

    哈哈哈。补上常用的string的属性。

    最后还有join方法,list转str

    先看一下str>>list

    str1 = "12345"
    list1 = list(str1)
    print list1
     
    str2 = "123 sjhid dhi"
    list2 = str2.split() #or list2 = str2.split(" ")
    print list2
     
    str3 = "www.google.com"
    list3 = str3.split(".")
    print list3
     
     输出结果
    ['1', '2', '3', '4', '5']
    ['123', 'sjhid', 'dhi']
    ['www', 'google', 'com']

    最后list转str

    str4 = "".join(list3)
    print str4
    str5 = ".".join(list3)
    print str5
    str6 = " ".join(list3)
    print str6
    输出结果
    wwwgooglecom
    www.google.com
    www google com

    参考链接

    https://blog.csdn.net/roytao2/article/details/53433373

    https://blog.csdn.net/jrrrj/article/details/81039124

  • 相关阅读:
    iOS开发-NSOperation与GCD区别
    FMDB数据库升级
    Xcode自动选择证书
    asp.net常用函数表
    JS操作文件
    Json转换插件
    SpringCloud分布式事务-Seata
    SpringCloud应对高并发的思路
    SpringCloud-Greenwich版本新特性探索(1)---SpringCloudGateway
    如何热更新线上的Java服务器代码
  • 原文地址:https://www.cnblogs.com/bianzhuo/p/9832365.html
Copyright © 2020-2023  润新知