>

python中的随机函数random的用法示例,使用random函

- 编辑:www.bifa688.com -

python中的随机函数random的用法示例,使用random函

首先说明一下

Python 练习

标签: Python Python练习题 Python知识点


python中的随机函数random的用法示例,pythonrandom

一、random模块简介

Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。

二、random模块重要函数

1 )、random() 返回0<=n<1之间的随机实数n;

2 )、choice(seq) 从序列seq中返回随机的元素;

import random
a = random.choice([1, 2, 3, 4])
print(a)

3 )、getrandbits(n) 以长整型形式返回n个随机位;

4 )、shuffle(seq[, random]) 原地指定seq序列;

5 )、sample(seq, n) 从序列seq中选择n个随机且独立的元素;

三、random模块方法说明

  1. random.random()函数是这个模块中最常用的方法了,它会生成一个随机的浮点数,范围是在0.0~1.0之间。
  2. random.uniform()正好弥补了上面函数的不足,它可以设定浮点数的范围,一个是上限,一个是下限。
  3. random.randint()随机生一个整数int类型,可以指定这个整数的范围,同样有上限和下限值,python random.randint。
  4. random.choice()可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。
  5. random.shuffle()如果你想将一个序列中的元素,随机打乱的话可以用这个函数方法。
  6. random.sample()可以从指定的序列中,随机的截取指定长度的片断,不作原地修改。

四、需要导入random模块

1、random.random

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

>>> random.random()  # Random float x,

2、random.uniform

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

>>> random.uniform(1, 10) # Random float x,

3、random.randint

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

>>> random.randint(10, 100)

4、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) 等效。

随机选取0到100间的偶数: 

>>> import random 
>>> random.randrange(0, 101, 2)

5、random.choice

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

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

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

6、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 on...'] 
p = ["Python", "is", "powerful", "simple", "and so on..."]

7、random.sample

random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。 如果k大于sequence元素个数的话会报错。 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持帮客之家。

一、random模块简介 Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮...

random函数是random模块中的一个函数

二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的数,屏幕显示“太大了,请重新输入”如果小于预设的数,屏幕显示“太小了,请重新输入”如此循环,直到猜中,显示“恭喜你,猜中了!共猜了N次”N为用户猜测次数.

答案:

import random


def guess_number():
    true_num = random.randint(1, 100)
    user_num = int(input("请输入一个整数:"))
    count = 1
    while true_num != user_num:
        if true_num > user_num:
            print("太小了,请重新输入!")
        elif true_num < user_num:
            print("太大了,请重新输入!")
        count  = 1
        user_num = int(input("请输入一个整数:"))
    print("恭喜您,您猜对了!您一共猜了%d次" % count)

guess_number()

首先要导入random模块

知识点

import random

1.Python中的random模块

random函数的功能

1.1 random 模块简介

Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。

#生成某一范围(0-1)内的随机小数
print(random.random())

1.2 random 模块方法说明
  • random.random(): 函数会生成一个随机的浮点数,范围是在0.0~1.0之间
In [2]: import random

In [3]: random.random()
Out[3]: 0.6935051182120364
  • random.uniform(a, b): 函数随机生成一个处于范围[a,b]的浮点数
In [26]: random.uniform(0, 100)
Out[26]: 26.977426505683276
  • random.randint(a, b): 随机生成一个范围[a, b]内的整数(int类型)
In [28]: random.randint(1,2)
Out[28]: 2

In [29]: random.randint(1,2)
Out[29]: 1
  • random.choice(): 可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。

参数为列表时:

In [31]: random.choice([1,2,3])
Out[31]: 3

In [32]: random.choice([1,2,3])
Out[32]: 1

参数为字符串时:

In [38]: random.choice("i am a bad boy")
Out[38]: 'y'

In [39]: random.choice("i am a bad boy")
Out[39]: 'b'

参数为元祖时:

In [41]: random.choice((1,3,7,4))
Out[41]: 1

In [42]: random.choice((1,3,7,4))
Out[42]: 7
  • random.shuffle: 如果你想将一个序列(不包括元祖和字符串)中的元素,随机打乱的话可以用这个函数方法
In [49]: list = [1,2,3,4]

In [50]: random.shuffle(list)

In [51]: list
Out[51]: [4, 2, 1, 3]
  • random.sample(a, b): 从序列a中随机且独立的截取指定长度b的片段。
In [58]: b = (9,9,9,1,2)

In [59]: random.sample(b, 2)
Out[59]: [9, 1]

In [60]: random.sample(b, 2)
Out[60]: [1, 9]

In [61]: random.sample(b, 2)
Out[61]: [1, 9]

In [62]: random.sample(b, 2)
Out[62]: [1, 9]

In [63]: random.sample(b, 2)
Out[63]: [2, 9]

In [64]: list = [1,2,3,5,7,94,2]

In [65]: random.sample(list, 3)
Out[65]: [1, 5, 7]

In [66]: random.sample(list, 3)
Out[66]: [2, 2, 5]

In [67]: random.sample("i am a bad boy", 3)
Out[67]: [' ', 'a', 'b']

In [68]: random.sample("i am a bad boy", 3)
Out[68]: ['a', 'y', 'b']
#生成某一范围(0-1)内的随机小数
print(random.random())

2. python中random模块的randint与numpy.random模块的randint的区别

  • random.randint(a, b) # 随机返回闭区间 [a, b] 范围内的整数值

  • numpy.random.randint(a, b) # 随机返回开区间 [a, b) 范围内的整数值

In [69]: random.randint(0,1)  
Out[69]: 0  

In [70]: random.randint(0,1)  
Out[70]: 1

In [71]: numpy.random.randint(0,1)  
Out[71]: 0

In [72]: np.random.randint(0,1)  
Out[72]: 0

randint也是random中的一个

#生成指定范围内的随机整数
print(random.randint(1,10))

我们就是要用random实现任意范围的随机整数(randint功能)

import random              #导入模块
def my_randint(a,b):
#     下面这一行代码中round()方法是返回浮点数x的四舍五入值
#    首先将random得到的0-1之间的小数乘以给定区间的插值,再加上给定区间的起始值,得到的是规定区间的浮点数,再用round函数四舍五入取整即可
#     a = round(random.random()*(b-a) a)
#   下面这一行代码里面的功能和上面一样,就是将round函数换成了int函数,相对来说没有round函数对每一个小数那么平等,但是也能实现任意区间相对随机生成一个整数
#     a = int(random.random()*(b-a) a)
# 下面这两行代码:是将产生的规定区间小数转换成字符串,然后用split()函数按照小数点进行切割,生成列表,列表下标为0的部分是整数部分,下表为1的部分是小数部分
    a = (random.random()*(b-a) a)
    a = str(a).split(".")
    #只需要返回列表下标为0的元素即可
    return int(a[0])
#    转换成字符串只是换了一种处理浮点数到整数的一种思路而已,并不是唯一且高效的方法
print(my_randint(99,158))

本文由必发88手机版发布,转载请注明来源:python中的随机函数random的用法示例,使用random函