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

你可能感兴趣的:(Python)