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 os programming
    Rejecting Good Engineers?
    Do Undergrads in MIT Struggle to Obtain Good Grades?
    Go to industry?
    LaTex Tricks
    Convert jupyter notebooks to python files
    How to get gradients with respect to the inputs in pytorch
    Uninstall cuda 9.1 and install cuda 8.0
    How to edit codes on the server which runs jupyter notebook using your pc's bwroser
    Leetcode No.94 Binary Tree Inorder Traversal二叉树中序遍历(c++实现)
  • 原文地址:https://www.cnblogs.com/bianzhuo/p/9832365.html
Copyright © 2011-2022 走看看