Python 三种取随机数方法

本文主要讲python 利用random取随机数的方法

三种方法

  1. random.sample()
  2. random.choice()
  3. random.randint()

random.sample

语法:
random.sample(list, N)

list: 一个数组,可以是元素数组,也可以是其他的数组。比如: numbers=[1,2,3,4,5]
N: 从数组中随机取出N个
例1
从数组中随机取出2个元素,代码片段如下:

import random

numbers = [1,2,3,4,5]
chosen = random.sample(numbers, 2)
print(chosen)
print(chosen[0])
print(chosen[1])

运行结果:
[4, 5]
4
5

注:数组的起始位为0

例2
python与selenium结合,做自动化测试,有时候需要实现随机获取一个元素。
比如:获取“我的订单”页面所有的订单,任意选中一个,并且查看订单详细信息。

从元素数组中随机取出1个元素,代码片段如下:

import random
from selenium import webdriver

def ChooseOneProvideRxButton(self):
    print('find all provide Rx buttons')
    buttons = self.driver.find_elements_by_xpath(self.ProvideRx_xpath)
    '''
    find_element:获取某个元素,如果根据查找条件可以找到多个满足条件的元素,那么会默认选择第一个元素
    find_elements:获取某组元素
    '''
    print('all buttons:', buttons)
    ProvideRxButton = random.sample(buttons, 1)
    print('the random choice of ProvideRx button is:', ProvideRxButton)
    ProvideRxButton.click() # 因为随机取出来的本来就是元素,所以不需要再次find_element,直接对元素执行click 操作
    print('click provide Rx button')

运行结果:

find all provide Rx buttons
all buttons: [<selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-1")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-2")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-3")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-4")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-5")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-6")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-7")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-8")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-9")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-10")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-11")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-12")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-13")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-14")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-15")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-16")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-17")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-18")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-19")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-20")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-21")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-22")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-23")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-24")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-25")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-26")>]
the random choice of ProvideRx button is  <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-19")>
click provide Rx button

random.choice

语法:
random.choice(list)

从list 数组中随机获取一个元素

例1

import random

numbers = [1,2,3,4,5]
chosen = random.choice(numbers)
print(chosen)

运行结果:
1

同理,这个也可以用于自动化测试中获取任一一个页面元素

random.randint

语法:
random.randint(N, M)

N: 起始数
M: 终止数
从N到M随机取出一个数

例1

import random

chosen = random.randint(2,6)
print(chosen)

运行结果:
5

  • 9
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值