专栏首页Crossin的编程教室【Python 第60课】 随机数

【Python 第60课】 随机数

有些时日没发新课了,今天来说一说python中的random模块。

random模块的作用是产生随机数。之前的小游戏中用到过random中的randint:

import random

num = random.randint(1,100)

random.randint(a, b)可以生成一个a到b间的随机整数,包括a和b。

a、b都必须是整数,且必须b≥a。当等于的时候,比如:

random.randint(3, 3)

的结果就永远是3

除了randint,random模块中比较常用的方法还有:

random.random()

生成一个0到1之间的随机浮点数,包括0但不包括1,也就是[0.0, 1.0)。

random.uniform(a, b)

生成a、b之间的随机浮点数。不过与randint不同的是,a、b无需是整数,也不用考虑大小。

random.uniform(1.5, 3)

random.uniform(3, 1.5)

这两种参数都是可行的。

random.uniform(1.5, 1.5)永远得到1.5。

random.choice(seq)

从序列中随机选取一个元素。seq需要是一个序列,比如list、元组、字符串。

random.choice([1, 2, 3, 5, 8, 13]) #list

random.choice('hello') #字符串

random.choice(['hello', 'world']) #字符串组成的list

random.choice((1, 2, 3)) #元组

都是可行的用法。

random.randrange(start, stop, step)

生成一个从start到stop(不包括stop),间隔为step的一个随机数。start、stop、step都要为整数,且start<stop。

比如:

random.randrange(1, 9, 2)

就是从[1, 3, 5, 7]中随机选取一个。

start和step都可以不提供参数,默认是从0开始,间隔为1。但如果需要指定step,则必须指定start。

random.randrange(4) #[0, 1, 2, 3]

random.randrange(1, 4) #[1, 2, 3]

random.randrange(start, stop, step)其实在效果上等同于

random.choice(range(start, stop, step))

random.sample(population, k)

从population序列中,随机获取k个元素,生成一个新序列。sample不改变原来序列。

random.shuffle(x)

把序列x中的元素顺序打乱。shuffle直接改变原有的序列。

以上是random中常见的几个方法。如果你在程序中需要其中某一个方法,也可以这样写:

from random import randint

randint(1, 10)

另外,有些编程基础的同学可能知道,在随机数中有个seed的概念,需要一个真实的随机数,比如此刻的时间、鼠标的位置等等,以此为基础产生伪随机数。在python中,默认用系统时间作为seed。你也可以手动调用random.seed(x)来指定seed。

最后,有些同学询问编程教室网站的开发情况,这里给大家简单汇报一下:目前我们已经基本上把核心的功能确定下来,也画了些页面草图。接下来会去做更详细的设计,敬请期待!

面向零基础初学者的编程课

每天5分钟,轻松学编程

回复『 p 』查看python课程

回复『 g 』查看pygame课程

回复『 t 』查看习题

回复『 w 』查看其他文章

本文分享自微信公众号 - Crossin的编程教室(crossincode)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2013-10-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【Python 第38课】 模块

    如果说我比别人看得更远些,那是因为我站在了巨人的肩上。 -- 牛顿 python自带了功能丰富的标准库,另外还有数量庞大的各种第三方库。使用这些“巨人的”代码...

    Crossin先生
  • 【每周一坑】统计英文小说词频

    Thank God It’s Friday! 又到周五啦!眼看就要忙完一周的学习和工作,又可以出去浪咯。 然而,只有我们依旧无趣地在此刻发干货文,提醒着你有没有...

    Crossin先生
  • #PY小贴士# 模块命名冲突

    有同学跟着我们的教程,学到了 random 模块。当开始准备给“猜数字”小游戏加上自动随机结果的功能时,遇到了问题:

    Crossin先生
  • python random

    random生成随机六位验证码,要求大小写字母数字均可, 可以用来写个双色球,验证码,抽奖等东西 记住几个常见的函数即可: ''' import random ...

    py3study
  • Python3 中 random模块

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

    py3study
  • Python 模块:random 随机数

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

    py3study
  • python模块之random

    random.random() 产生0-1的随机浮点数 random.uniform(a, b) 产生指定范围内的随机浮点数 ran...

    菲宇
  • python随机数产生

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

    py3study
  • Python中的random模块用于生成随机数

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

    学到老
  • python 数字

    range()函数 \>>> range(1,5) # 代表从1到5(不包含5) [1, 2, 3, 4] \>>> range(1,5,2) # 代表从1...

    py3study

扫码关注云+社区

领取腾讯云代金券