zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Mac搭建PHP多站点虚拟主机环境
    IE ajax缓存问题
    CSS hack总结
    div高度自适应
    asp.net EasyUI DataGrid 实现增删改查
    如何从 Windows Phone 8 模拟器连接到本地 Web 服务
    创建DomainService,添加终结点
    sqlserver 查询数量查看,并快速建立索引。
    在VS2013中强制IIS Express应用程序池使用经典模式
    理解HTTP幂等性
  • 原文地址:https://www.cnblogs.com/bianzhuo/p/9832365.html
Copyright © 2011-2022 走看看