Python里面如何Python每次生成随机数都一样数

python随机数生成
Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。
random.random
random.random()用于生成一个0到1的随机符点数: 0 &= n
random.uniform
  random.uniform的函数原型为:random.uniform(a,
b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a &
b,则生成的随机数n: a &= n &= b。如果 a
&b, 则 b &= n &=
print random.uniform(10, 20)
print random.uniform(20, 10)
#---- 结果(不同机器上的结果不一样)
random.randint
  random.randint()的函数原型为:random.randint(a,
b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a &= n
print random.randint(12, 20) #生成的随机数n: 12 &= n
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手册数据模型这一章,也可以参考:http://www.17xie.com/read-37422.html
。下面是使用choice的一些例子:
print random.choice("学习Python") &
print random.choice(["JGood", "is", "a", "handsome", "boy"])
print random.choice(("Tuple", "List",
random.shuffle
  random.shuffle的函数原型为:random.shuffle(x[,
random]),用于将一个列表中的元素打乱。如:
p = ["Python", "is", "powerful", "simple", "and so on..."]
random.shuffle(p) &&
print p &&
#---- 结果(不同机器上的结果可能不一样。)
#['powerful', 'simple', 'is', 'Python', 'and so
random.sample
  random.sample的函数原型为:random.sample(sequence,
k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
slice = random.sample(list, 5) #从list中随机获取5个元素,作为一个片断返回
print slice &&
print list #原有序列并没有改变。
  上面这些方法是random模块中最常用的,在Python手册中,还介绍其他的方法。感兴趣的朋友可以通过查询Python手册了解更详细的信息。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
Python编程实现生成特定范围内不重复多个随机数的2种方法
摘要:本文实例讲述了Python编程实现生成特定范围内不重复多个随机数的2种方法。分享给大家供大家参考,具体如下:在近期进行的一个实验中,需要将数据按一定比例随机分割为两个部分。这一问题的核心其实就是产生不重复随机数的问题。首先想到的递归的方法,然后才发现Python中居然已经提供了此方法的函数,可以直接使用。具体代码如下:#生成某区间内不重复的N个随机数的方法#1、利用递归生成resultList=[];#用于存放结果的ListA=1;#最小随机数B=1
本文实例讲述了Python编程实现生成特定范围内不重复多个随机数的2种方法。分享给大家供大家参考,具体如下:
在近期进行的一个实验中,需要将数据按一定比例随机分割为两个部分。这一问题的核心其实就是产生不重复随机数的问题。首先想到的递归的方法,然后才发现Python中居然已经提供了此方法的函数,可以直接使用。具体代码如下:
#生成某区间内不重复的N个随机数的方法
#1、利用递归生成
resultList=[];#用于存放结果的List
A=1; #最小随机数
B=10 #最大随机数
#生成随机数的递归数学,参数counter表示当前准备要生成的第几个有效随机数
def generateRand(counter):
tempInt=random.randint(A,B); # 生成一个范围内的临时随机数,
if(counter&=COUNT): # 先看随机数的总个数是不是够了,如果不够
if(tempInt not in resultList): # 再检查当前已经生成的临时随机数是不是已经存在,如果不存在
resultList.append(tempInt); #则将其追加到结果List中
counter+=1;# 然后将表示有效结果的个数加1. 请注意这里,如果临时随机数已经存在,则此if不成立,那么将直接执行16行,counter不用再加1
generateRand(counter); # 不管上面的if是否成立,都要递归。如果上面的临时随机数有效,则这里的conter会加1,如果上面的临时随机数已经存在了,则需要重新再生成一次随机数,counter不能变化
generateRand(1);#调用递归函数,并给当前要生成的有效随机数的个序号置为1,因为要从第一个开始嘛
print(resultList)# 打印结果
#2、利用Python中的randomw.sample()函数实现
resultList=random.sample(range(A,B+1),COUNT); # sample(x,y)函数的作用是从序列x中,随机选择y个不重复的元素。上面的方法写了那么多,其实Python一句话就完成了。
print(resultList)# 打印结果
PS:这里再为大家提供两款相关在线工具供大家参考使用:
在线随机数字/字符串生成工具:http://tools.jb51.net/aideddesign/suijishu
高强度密码生成器:http://tools.jb51.net/password/CreateStrongPassword
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
新用户大礼包!
现在注册,免费体验40+云产品,及域名优惠!
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
Python编程实现生成特定范围内不重复多个随机数的2种方法相关信息,包括
的信息,所有Python编程实现生成特定范围内不重复多个随机数的2种方法相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International扫一扫体验手机阅读
Python随机函数random()使用方法汇总
你的鼓励让我更有动力
0人进行了赞赏支持
<span type="1" blog_id="2161254" userid='
315篇文章,17W+人气,5粉丝
运维开发全攻略
¥51.0033人订阅
大数据时代的微服务之路
¥51.00514人订阅python的生成随机数列表问题
<a data-traceid="question_detail_above_text_l&&
用python生成10000行50列的5位随机整数。下面写的是一列的随机整数,怎么样才可以生成50列,列名用1到50在顶部标出,字段与子段之间用空格或者逗号隔开,我要把它写入到新建的csv文件中
#coding=utf-8
import os,random
length = random.randint(1)
for i in range(length):
& & & & name = random.choice(['1','2','3','4','5','6','7','8','9'])+"".join(random. sample ("",4 ))
& & & & print (name)
直接生成 10000*50个随机数,每次取50个作为一行写到csv
写csv参照csv.writer或者class csv.DictWriter
--- 共有 1 条评论 ---
感谢回复。
写法挺多的。用",".join(随机数list)就得一行CSV的格式了。
--- 共有 6 条评论 ---
: 嗯,明白了
: 你把CSV文件看成一个二维数组就可以了。
: 如果csv包里面有取列的方法就好了
: 对。感谢你的回复
: 自己搜索一下咯。你的意思取每一个随机数的hash值?
生成10000行50列的5位随机整数.py
http://www.oschina.net/question/1742
日 14:50:52 codegay
import random
with open("10000x50.txt","w+") as f:
f.write(",".join([str(r) for r in range(1,51)])+"\n")#列名
for n in range(0,10000):
rn=','.join([str(random.randint()) for r in range(1,51)])+"\n"
f.write(rn)
input("回车退出")
如果看不懂的话,学一下列表解析的写法就懂了。
--- 共有 1 条评论 ---
这个看不太懂,但还是非常感谢新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
稍有积蓄, 积分 287, 距离下一级还需 213 积分
论坛徽章:0
randint(1,99)生成随机数的范围是什么?上下界是如何界定的?
看书,没明白,
这个界线 1,99,
是不是产生 1-99的随机数,
为何教材上写是,生成 1-100之间的随机数呢?
是书上印错了,还是我理解错了?
这个上下界是如何界定的呢?
因为是随机值,我测试不出来,故发贴问问大家,谢谢了。
丰衣足食, 积分 524, 距离下一级还需 476 积分
论坛徽章:0
Help on method randint in module random:
randint(self, a, b) method of random.Random instance
& & Return random integer in range [a, b], including both end points.
复制代码
稍有积蓄, 积分 283, 距离下一级还需 217 积分
论坛徽章:0
顶楼上 或者多试几下 random.randint(1,2) 不就行了。
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处

我要回帖

更多关于 excel随机数生成函数 的文章

 

随机推荐