Python中的random模块

来源:http://www.cnblogs.com/yd1227/archive/2011/03/18/1988015.html

Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。

random.random

random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0

random.uniform

  random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a。

  1. print random.uniform(1020)  
  2. print random.uniform(2010)  
  3. #---- 结果(不同机器上的结果不一样)  
  4. #18.7356606526  
  5. #12.5798298022  
print random.uniform(10, 20) print random.uniform(20, 10) #---- 结果(不同机器上的结果不一样) #18.7356606526 #12.5798298022

random.randint

  random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

  1. print random.randint(1220)  #生成的随机数n: 12 <= n <= 20  
  2. print random.randint(2020)  #结果永远是20  
  3. #print random.randint(20, 10)  #该语句是错误的。下限必须小于上限。  
print random.randint(12, 20) #生成的随机数n: 12 <= n <= 20 print random.randint(20, 20) #结果永远是20 #print random.randint(20, 10) #该语句是错误的。下限必须小于上限。

random.randrange

  random.randrange的函数原型为:random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。

random.choice

  random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。有关sequence可以查看python手册数据模型这一章。下面是使用choice的一些例子:

  1. print random.choice("学习Python")   
  2. print random.choice(["JGood""is""a""handsome""boy"])  
  3. print random.choice(("Tuple""List""Dict"))  
print random.choice("学习Python") print random.choice(["JGood", "is", "a", "handsome", "boy"]) print random.choice(("Tuple", "List", "Dict"))

random.shuffle

  random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。如:

  1. p = ["Python""is""powerful""simple""and so on..."]  
  2. random.shuffle(p)  
  3. print p  
  4. #---- 结果(不同机器上的结果可能不一样。)  
  5. #['powerful', 'simple', 'is', 'Python', 'and so on...']  
p = ["Python", "is", "powerful", "simple", "and so on..."] random.shuffle(p) print p #---- 结果(不同机器上的结果可能不一样。) #['powerful', 'simple', 'is', 'Python', 'and so on...']

random.sample

  random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。

  1. list = [12345678910]  
  2. slice = random.sample(list, 5)  #从list中随机获取5个元素,作为一个片断返回  
  3. print slice  
  4. print list #原有序列并没有改变。  

 

 

随机整数:
>>> import random
>>> random.randint(0,99)
21

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

随机浮点数:
>>> import random
>>> random.random() 
0.85415370477785668
>>> random.uniform(1, 10)
5.4221167969800881

随机字符:
>>> import random
>>> random.choice('abcdefg&#%^*f')
'd'

多个字符中选取特定数量的字符:
>>> import random
random.sample('abcdefghij',3) 
['a', 'd', 'b']

多个字符中选取特定数量的字符组成新字符串:
>>> import random
>>> import string
>>> string.join(random.sample(['a','b','c','d','e','f','g','h','i','j'], 3)).r
eplace(" ","")
'fih'

随机选取字符串:
>>> import random
>>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )
'lemon'

洗牌:
>>> import random
>>> items = [1, 2, 3, 4, 5, 6]
>>> random.shuffle(items)
>>> items
[3, 2, 5, 6, 4, 1]



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个完美网站的101项指标.第一部分.概述

前言  世 界上最有趣的职业是网站设计师&#xff0c;有人为自己的作品喊价5000美金&#xff0c;有人129美金就行&#xff0c;而很多人根本看不出这两者的差别&#xff0c;我见过一个加拿大 Freelancer 设计师&#xff0c;他的网站上有个报价系统&#xff0c;你可以选择自己的…

C++学习之路 | PTA乙级—— 1037 在霍格沃茨找零钱 (20 分)(精简)

1037 在霍格沃茨找零钱 (20 分) 如果你是哈利波特迷&#xff0c;你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的&#xff1a;“十七个银西可(Sickle)兑一个加隆(Galleon)&#xff0c;二十九个纳特(Knut)兑一个西可&#xff0c;很容易。”现在&#xff0c;给定哈利…

全程中文!谷歌发布机器学习速成课,完全免费

夏乙 若朴 发自 凹非寺量子位 出品 | 公众号 QbitAIGoogle今天上线了一个“机器学习速成课程”&#xff0c;英文简称MLCC。用他们自己的话来形容&#xff0c;这个课程节奏紧凑、内容实用。听完这个课程总共需要大约15小时&#xff0c;包含大量教学视频&#xff0c;还有对算法实…

nohup 与 linux 程序后台执行

来源&#xff1a;http://blog.chinaunix.net/uid-446337-id-94446.html & 方式&#xff1a; Unix/Linux下一般想让某个程序在后台运行&#xff0c;很多都是使用 & 在程序结尾&#xff0c;来让程序自动在后台运行。 比如我们要运行mysql在后台&#xff1a; /usr/local/…

Guava入门~Splitter

String.split()问题&#xff1a;中间保留&#xff0c;最后丢弃 String commaSeparatedString "Foo,,Bar,,Baz,,,"; String[] words commaSeparatedString.split(","); //[Foo, , Bar, , Baz] System.out.println(Arrays.toString(words)); 演示 impo…

C++学习之路 | PTA乙级—— 1038 统计同成绩学生 (20 分)(精简)

1038 统计同成绩学生 (20 分) 本题要求读入 N 名学生的成绩&#xff0c;将获得某一给定分数的学生人数输出。 输入格式&#xff1a; 输入在第 1 行给出不超过 10 ​5 ​​ 的正整数 N&#xff0c;即学生总人数。随后一行给出 N 名学生的百分制整数成绩&#xff0c;中间以空格分…

frame或者iframe的contentwindow属性

contentwindow属性是指指定的frame或者iframe所在的window对象&#xff1a; <script> function fnnavigate() { for(i0;i<document.all.length;i) { if(document.all(i).tagname"iframe") { document.all(i).contentwindow.location "http://www.msn.…

C++学习之路 | PTA乙级—— 1039 到底买不买 (20 分)(精简)

1039 到底买不买 (20 分) 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串&#xff0c;但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下&#xff0c;某串珠子里是否包含了全部自己想要的珠子&#xff1f;如果是&#xff0c;那么告诉她有多少多…

Yoshua Bengio团队最新强化学习研究:智能体通过与环境交互,「分离」变化的独立可控因素

原文来源&#xff1a;arXiv作者&#xff1a;Valentin Thomas、Emmanuel Bengio∗、William Fedus、Jules Pondard、Philippe Beaudoin、Hugo Larochelle、Joelle Pineau、Doina Precup、Yoshua Bengio「雷克世界」编译&#xff1a;嗯~阿童木呀人们普遍认为&#xff0c;一个良好…

supervisor安装和配置

supervisor 是由python语言编写、基于linux操作系统的一款服务器管理工具&#xff0c;用以监控服务器的运行&#xff0c;发现问题能立即自动预警及自动重启等功能。 Supervisor是一个进程管理工具&#xff0c;官方的说法 用途就是有一个进程需要每时每刻不断的跑&#xff0c;但…

Guava入门~Strings

import org.hamcrest.CoreMatchers; import org.junit.Assert; import com.google.common.base.Strings;/*** TODO 在此写上类的相关说明.<br>* author gqltt<br>* version 1.0.0 2021年11月11日<br>* see * since JDK 1.5.0*/ public class StringsDemo {/*…

六级没过

很不幸&#xff0c;六级没过&#xff0c;有点失落&#xff0c;想找块豆腐撞。 转载于:https://www.cnblogs.com/prayforsmile/archive/2008/03/04/1090604.html

斯坦福联合DeepMind提出将「强化学习和模仿学习」相结合,可实现多样化机器人操作技能的学习

原文来源&#xff1a;arXiv作者&#xff1a;Yuke Zhu、Ziyu Wang、Josh Merel、Andrei Rusu、Tom Erez、Serkan Cabi、Saran Tunyasuvunakool、Janos Kram ar、Raia Hadsell、Nando de Freitas、Nicolas Heess「雷克世界」编译&#xff1a;嗯~阿童木呀我们提出了一种无模型的深…

C++学习之路 | PTA乙级—— 1024 科学计数法 (20 分)(精简)

1024 科学计数法 (20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法&#xff0c;其满足正则表达式 [][1-9].[0-9]E[][0-9]&#xff0c;即数字的整数部分只有 1 位&#xff0c;小数部分至少有 1 位&#xff0c;该数字及其指数部分的正负号即使对正数也必定明…

Guava入门~CharMatcher

import org.hamcrest.CoreMatchers; import org.junit.Assert; import com.google.common.base.CharMatcher;/*** TODO 在此写上类的相关说明.<br>* author gqltt<br>* version 1.0.0 2021年11月11日<br>* see * since JDK 1.5.0*/ public class CharMatcher…

用人不疑,疑人不用

用人不疑&#xff0c;疑人不用&#xff0c;这句古训是否正确呢&#xff1f;现在的社会也许有很多人认为已经不在适用了&#xff0c;不过我们看待问题还是一分为二&#xff0c;我觉得有不适用的理由&#xff0c;也有适用的理由。不适用的理由&#xff0c;搜索一下太多了&#xf…

大型传统企业如何向人工智能转型?

来源&#xff1a;FT中文网在新一波技术浪潮的冲击下&#xff0c;以AI、大数据、云计算、物联网、5G通信等一系列技术为代表的“技术簇”所引发的革命对人类社会的影响将是全面且深刻的。每一个商业单元都面对这样的机遇&#xff1a;能否通过对新技术的运用&#xff0c;为客户创…

C++学习之路 | PTA乙级—— 1034 有理数四则运算 (20 分)(精简)

1034 有理数四则运算 (20 分) 本题要求编写程序&#xff0c;计算 2 个有理数的和、差、积、商。 输入格式&#xff1a; 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数&#xff0c;其中分子和分母全是整型范围内的整数&#xff0c;负号只可能出现在分子前&…

linux 下载 命令 wget 和 curl

From&#xff1a;http://www.jb51.net/LINUXjishu/86326.html From &#xff1a;Linux curl 命令详解 - http://www.cnblogs.com/duhuo/p/5695256.html Linux curl 命令参数详解&#xff1a;http://www.aiezu.com/system/linux/linux_curl_syntax.html Linux下使用 curl &…

sql server存储过程中解决单引号的问题

一&#xff1a;目的想在sql中插入号&#xff0c;例如&#xff1a;select count&#xff08;*&#xff09;from user where nametoma)使用转义字符&#xff1a;select char(39)或select char(39)查询的结果是&#xff1a;例如&#xff1a;select char(39) 44555 char(39)查询的…