zoukankan      html  css  js  c++  java
  • python生产随机数案例

    法1:

    list =list(string.lowercase + string.uppercase) + [str(i) for i in range(10)]
    FH=('!','@','#','$','%','&','_')
    for f in FH:
    list.append(f)
    num = random.sample(list,10)
    str=''
    value= str.join(num)
    if not value[0].isdigit():
    print value

     

        Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数。

        函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式

    (如果没有等价的语法,则会发生SyntaxError 异常) 某对象没有适于人阅读的解释形式的话, str() 会返回与repr()

       等同的值。很多类型,诸如数值或链表、字典这样的结构,针对各函数都有着统一的解读方式。

       字符串和浮点数,有着独特的解读方式。

    法2:
    import random,string

    def GenPassword(lenght):
    numOfNum = random.randint(1,lenght-1)
    numOfLetter = lenght - numOfNum
    slcNum = [random.choice(string.digits) for i in range(numOfNum)]
    slcLetter = [random.choice(string.ascii_letters) for i in range(numOfLetter)]
    slcChar = slcNum + slcLetter
    random.shuffle(slcChar)
    genPwd = "".join([i for i in slcChar])
    return genPwd

    if __name__ == '__main__':
    print GenPassword(6)

     

    法3:

    import random,string

    def rand_str(num,lenght=7):
       f=open('Activation_code.txt','wb')
       for i in range(num):
          chars = string.letters + string.digits
          s = [random.choice(chars) for i in range(lenght)]
          f.write("".join(s)+' ')
    print 'Done!'
    f.close()

    if __name__ == '__main__':
    rand_str(200)

    =============知识点==============
    1、 l = [random.choice(range(n)) for i in range(N)]
    大约可以解释成:
    I = []
    for i in range(N):
    I.append(random.choice(range(n))) 
    In [84]: [x**2 for x in range(10)]
    Out[84]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
     
    In [85]: vec=[2,4,6]
     
    In [86]: [2*x for x in vec if x>3]
    Out[86]: [8, 12]
     
    In [87]: [2*x for x in vec]
    Out[87]: [4, 8, 12]
     
    2、 random.choice
    random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。有关sequence可以查看python手册数据模型这一章。下面是使用choice的一些例子:
    print random.choice("学习Python")
    print random.choice(["JGood","is","a","handsome","boy"])
    print random.choice(("Tuple","List","Dict"))
    print random.choice("学习Python") print random.choice(["JGood", "is", "a", "handsome", "boy"]) print random.choice(("Tuple", "List", "Dict"))
    3、缺省参数
    调用函数时,缺省参数的值如果没有传入,则被认为是默认值。下例会打印默认的age,如果age没有被传入:
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    #可写函数说明
    def printinfo( name, age = 35 ):
       "打印任何传入的字符串"
       print "Name: ", name;
       print "Age ", age;
       return;
     
    #调用printinfo函数
    printinfo( age=50, name="miki" );
    printinfo( name="miki" );
    以上实例输出结果:
    Name:  miki
    Age  50
    Name:  miki
    Age  35
     
    4、chars为所有大小写字母和数字的显示
    chars=string.letters+string.digits
    print chars显示
    abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
  • 相关阅读:
    Java高级面试题及答案
    Java SQL注入学习笔记
    Java实习生面试题整理
    各大公司Java面试题超详细总结
    Java面试经典题:线程池专题
    Java进阶面试题列表
    最新Java面试题及答案整理
    Java虚拟机(JVM)你只要看这一篇就够了!
    记一次Java的内存泄露分析
    Java线程池详解
  • 原文地址:https://www.cnblogs.com/yycc/p/7199226.html
Copyright © 2011-2022 走看看