在利用python代码进行开发或者测试中,难免会遇到一些需要输入随机值的相关操作,这里特意总结了一下:
一、随机数字的生成
(1)生成0-9(或其他数字段)中的一个(串)随机数字
import random
def create_random_int_number():
"""随机返回从0-9之间的整数"""
return random.randint(0, 9)
#也可以根据续修返回其他长度的数字,这里我返回1000-9999中的任意一个数字
# return (1000, 9999)
print(create_random_int_number())
运行结果:8
(2)生成0-9999(或其他数字段)之间的任意一个浮点数
import random
def create_random_float_number():
"""随机返回从0-9999之间的浮点数"""
return random.uniform(0, 9999)
print(create_random_float_number())
运行结果:9393.133900249248
(3)生成0-1之间的任意一个浮点数
import random
def create_random_0_1_number():
"""随机返回一个0-1之间的浮点数"""
return random.random()
print(create_random_0_1_number())
运行结果:0.0803613273312489
(4)随机选择数组中任意一个或几个元素
import random
def create_random_samples_from_list():
"""随机从ls数组中选2个元素"""
ls = ["aaa", 1, 'class', 'createrandomsamplesfromlist', 9990]
print(random.choice(ls))
return random.sample(ls, 2)
print(create_random_samples_from_list())
运行结果:[1, ‘aaa’]
二、随机大小写字母的生成
(1)随机生成一个大写或小写的英文字母
import random
def create_random_string():
"""随机生成一个大写或小写的英文字母"""
return random.choice(string.ascii_letters)
print(create_random_string())
运行结果:G
(2)随机生成一串包含大写或小写的英文字母
import random
def create_random_strings():
"""随机生成一串包含大写或小写的英文字母"""
return string.ascii_letters
print(create_random_strings())
运行结果:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
三、随机指定位数的字符+数组混合的字符串
def create_string_number(n):
"""生成一串指定位数的字符+数组混合的字符串"""
m = random.randint(1, n)
a = "".join([str(random.randint(0, 9)) for _ in range(m)])
b = "".join([random.choice(string.ascii_letters) for _ in range(n - m)])
return ''.join(random.sample(list(a + b), n))
print(create_string_number(9))
运行结果:148k808S4