import random
import string

# 随机整数:
print random.randint(1,50)

>>> print(random.randint(1,50))
16
>>> print(random.randint(1,50))
31


# 随机选取0到100间的偶数:
print random.randrange(0, 101, 2)

>>> print(random.randrange(0, 101, 2))
42
>>> print(random.randrange(0, 101, 2))
80
>>> print(random.randrange(0, 101, 2))
14


# 随机浮点数:
print random.random()#0-1的随机小数

>>> print( random.random())
0.2238481522116863
>>> print( random.random())
0.9447280929024309

print random.uniform(1, 10)#指定范围的随机小数

>>> print (random.uniform(1, 10))
2.701334819048406
>>> print (random.uniform(1, 10))
5.746240873002879


# 随机字符:
print random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()')>>> print( random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()'))d>>> print( random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()'))p

# 多个字符中生成指定数量的随机字符:
print random.sample('zyxwvutsrqponmlkjihgfedcba',5)

>>> print( random.sample('zyxwvutsrqponmlkjihgfedcba',5))
['r', 'z', 'y', 'c', 'l']
>>> print( random.sample('zyxwvutsrqponmlkjihgfedcba',5))
['l', 'a', 'y', 'i', 'q']


# 从a-zA-Z0-9生成指定数量的随机字符:
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
print ran_str

>>> ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))

>>> print (ran_str)
28vyNHqA

>>> import string
>>> string.ascii_letters#生成所有的大小写字母
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.digits#生成所有的数字
'0123456789'
>>> "".join(random.sample(string.ascii_letters+string.digits,8))

'QmFNB7wC'

>>> import string
>>> dir(string)
['Formatter', 'Template', '_ChainMap', '_TemplateMetaclass', '__all__', '__built
ins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__packag
e__', '__spec__', '_re', '_string', 'ascii_letters', 'ascii_lowercase', 'ascii_u
ppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctua
tion', 'whitespace']
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.ascii_lowercase#所有的小写字母
'abcdefghijklmnopqrstuvwxyz'
>>> string.ascii_uppercase#生成所有的大写字母
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

# 多个字符中选取指定数量的字符组成新字符串:
print( ''.join(random.sample(['z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'], 5)))



# 随机选取字符串:
print random.choice(['剪刀', '石头', '布'])



# 打乱排序
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print random.shuffle(items)

>>> s=[1,2,3,4,5,6]
>>> random.shuffle(s)
>>> s
[3, 1, 4, 5, 6, 2]

 

python学习笔记----random的更多相关文章

  1. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  2. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  3. Python学习笔记(十)

    Python学习笔记(十): 装饰器的应用 列表生成式 生成器 迭代器 模块:time,random 1. 装饰器的应用-登陆练习 login_status = False # 定义登陆状态 def ...

  4. Python学习笔记九

    Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接 ...

  5. Python学习笔记,day5

    Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...

  6. Deep learning with Python 学习笔记(10)

    生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...

  7. Deep learning with Python 学习笔记(8)

    Keras 函数式编程 利用 Keras 函数式 API,你可以构建类图(graph-like)模型.在不同的输入之间共享某一层,并且还可以像使用 Python 函数一样使用 Keras 模型.Ker ...

  8. Deep learning with Python 学习笔记(6)

    本节介绍循环神经网络及其优化 循环神经网络(RNN,recurrent neural network)处理序列的方式是,遍历所有序列元素,并保存一个状态(state),其中包含与已查看内容相关的信息. ...

  9. Deep learning with Python 学习笔记(5)

    本节讲深度学习用于文本和序列 用于处理序列的两种基本的深度学习算法分别是循环神经网络(recurrent neural network)和一维卷积神经网络(1D convnet) 与其他所有神经网络一 ...

随机推荐

  1. postman测试请求参数中文乱码问题

    用IDEA调试代码时,用postman测试请求url,发现post或者get请求中参数是中文的话,后台获取的参数是乱码, 一般两个方面 发送请求的一方:postman的问题 接受请求的一方:tomca ...

  2. PythonStudy——函数对象的案例

    # part1 # 加法运算 def add(n1, n2): return n1 + n2 def low(n1, n2): return n1 - n2 # 四则运算 def computed(n ...

  3. redis scan删除key的方法封装

    /** * @desc 迭代式的删除redis key * 用法: * $redis = BaseService::S()->getRedisConfig(\Yii::$app->redi ...

  4. Breakout 打砖块

    发售年份 1976 发售平台 多平台 开发商 雅达利(Atari) 类型 动作 https://www.youtube.com/watch?v=AMUv8KvVt08

  5. Zabbix server的配置文件没有真正生效

    现状 Zabbix server端迁移之后,一直卡,卡的不行的卡,一直以为是网络的原因,实在忍受不下去了,还是得排查排查   在界面上一直显示这条,但是我的zabbix_server确实是启动的,但是 ...

  6. Dubbo和Spring Cloud

    1.Dubbo和Spring Cloud区别 1).通信方式不同 Dubbo使用RPC通信,Spring Cloud使用Http RestFul方式 2) 组成部分不同 组件 Dubbo Spring ...

  7. 如何创建 SVN 服务器,并搭建自己的 SVN 仓库 如何将代码工程添加到VisualSVN Server里面管理

    如何创建 SVN 服务器,并搭建自己的 SVN 仓库,附链接: https://jingyan.baidu.com/article/6b97984dca0d9c1ca3b0bf40.html 如何将代 ...

  8. Busybox镜像

    使用docker多少还是要知道一些Busybox的知识,下面转载自https://blog.csdn.net/chengqiuming/article/details/79313539 一 简介 Bu ...

  9. Google瓦片地图URL

    http://mt2.google.cn/vt/lyrs=y&scale=2&hl=zh-CN&gl=cn&x=6891&y=3040&z=13 //含 ...

  10. AD中修改OU下面用户的属性

    第一种方法可行: get-ADuser -searchbase "ou=Wireless,dc=lstech,dc=com" -filter * | set-ADuser -Giv ...