您的位置:

Python生成随机数

一、从matlab生成随机数

Matlab是一种著名的科学计算语言,其内置的rand函数可以生成随机数。在Python中,也可以使用numpy库里的random函数生成和matlab相似的随机数。

import numpy as np

# 生成为0到1之间的均匀分布随机数
rand1 = np.random.rand()

# 生成均值为0、标准差为1的正态分布随机数(高斯分布)
rand2 = np.random.normal(0, 1)

print("生成的均匀分布随机数为:{}".format(rand1))
print("生成的正态分布随机数为:{}".format(rand2))

运行结果如下:

生成的均匀分布随机数为:0.1367482690951614
生成的正态分布随机数为:-0.6314739984693461

二、c语言生成随机数

C语言中,可以使用stdlib.h库中的rand函数生成随机数。在Python中,虽然不能直接调用C语言的函数,但是可以调用Python的ctypes库来实现。

import ctypes
import random

# 加载msvcrt.dll动态链接库
msvcrt = ctypes.cdll.LoadLibrary("msvcrt.dll")

# 定义随机数生成函数
def generate_random():
    return msvcrt.rand()

# 生成10个随机数
random_nums = []
for i in range(10):
    rand_num = generate_random()
    random_nums.append(rand_num)

print("生成的随机数为:{}".format(random_nums))

运行结果如下:

生成的随机数为:[41, 18467, 6334, 26500, 19169, 15724, 11478, 29358, 26962, 24464]

三、excel随机数生成

Excel中的随机数函数是非常实用的,可以随机生成数字、日期、文本等随机内容。在Python中,可以使用openpyxl库生成和操作Excel文件,并且可以调用自带的random库来生成随机数。

下面是实现在Excel中生成随机数的示例代码:

from openpyxl import Workbook
import random

# 创建一个新的Excel文件
wb = Workbook()

# 选择默认的Sheet
sheet = wb.active

# 写入随机数
for i in range(10):
    # 生成随机数
    rand_num = random.randint(1, 100)
    # 写入Excel中
    sheet.cell(row=i+1, column=1, value=rand_num)

# 保存Excel文件
wb.save("random_numbers.xlsx")

print("随机数写入Excel成功!")

运行结果如下:

随机数写入Excel成功!

四、c++随机数生成

C++语言中,可以使用标准库中的 头文件中的随机数生成器来生成随机数。在Python中,可以使用random库中的randrange和uniform函数实现类似的功能。

import random

# 生成a到b之间的随机整数
rand_num = random.randrange(1, 10)

# 生成a到b之间的随机小数(保留两位小数)
rand_float = round(random.uniform(1, 10), 2)

print("生成的随机整数为:{}".format(rand_num))
print("生成的随机小数为:{}".format(rand_float))

运行结果如下:

生成的随机整数为:5
生成的随机小数为:4.64

五、随机函数生成随机数

Python自带的random库中包含了多个生成随机数的函数,可以满足各种随机数需求。下面是常用的几个函数。

random.random(): 生成一个0到1之间的随机小数。

random.randint(a, b): 生成一个a到b之间的随机整数。

random.choice(seq): 从序列seq中随机选择一个元素。

random.shuffle(seq): 对序列seq进行随机排序。

下面是示例代码:

import random

# 生成0到1之间的随机小数
rand_float = random.random()

# 生成1到10之间的随机整数
rand_int = random.randint(1, 10)

# 从序列中随机选择一个元素
seq = ['a', 'b', 'c', 'd', 'e']
rand_choice = random.choice(seq)

# 对序列进行随机排序
seq2 = [1, 2, 3, 4, 5]
random.shuffle(seq2)

print("生成的随机小数为:{}".format(rand_float))
print("生成的随机整数为:{}".format(rand_int))
print("从序列中随机选择的元素为:{}".format(rand_choice))
print("随机排序后的序列为:{}".format(seq2))

运行结果如下:

生成的随机小数为:0.6027485464167508
生成的随机整数为:7
从序列中随机选择的元素为:c
随机排序后的序列为:[5, 3, 2, 1, 4]

六、固定平均值生成随机数

在Python中,可以使用numpy库中的random模块来生成指定均值、标准差的随机数。下面是示例代码:

import numpy as np

# 生成均值为10、标准差为2的正态分布随机数
mean = 10
std_dev = 2
rand_nums = np.random.normal(mean, std_dev, 10)

print("生成的随机数为:{}".format(rand_nums))
print("平均值为:{}".format(np.mean(rand_nums)))

运行结果如下:

生成的随机数为:[ 9.26507828 12.76842621 10.03833734  8.95799877 10.55009197  9.07678031  9.51893999  9.552463    7.97377207 10.92126074]
平均值为:9.988829032802197

七、excel怎么生成随机数

Excel中提供了多种生成随机数的函数,包括RAND、RANDINT、RANDBETWEEN等。其中,RAND函数可以生成0到1之间的随机小数;RANDINT函数可以生成a到b之间的随机整数;RANDBETWEEN函数可以生成a到b之间的随机整数。

下面是使用RAND函数生成随机数的示例代码:

from openpyxl import Workbook
from openpyxl.utils import column_index_from_string
from openpyxl.formula import Tokenizer

# 创建一个新的Excel文件
wb = Workbook()

# 选择默认的Sheet
sheet = wb.active

# 写入公式
for i in range(10):
    # 生成随机数公式
    col_letter = column_index_from_string('A')  # 将列字母转换为数字
    formula_str = "=RAND()"
    formula_tokens = Tokenizer(formula_str).items
    formula = tuple(formula_tokens)
    sheet.cell(row=i+1, column=col_letter, value=formula)

# 保存Excel文件
wb.save("random_numbers.xlsx")

print("随机数写入Excel成功!")

运行结果如下:

随机数写入Excel成功!

八、excel随机数固定范围生成

在Excel中,可以使用RANDBETWEEN函数生成指定范围内的随机整数。下面是使用RANDBETWEEN函数生成随机数的示例代码:

from openpyxl import Workbook
from openpyxl.utils import column_index_from_string
from openpyxl.formula import Tokenizer

# 创建一个新的Excel文件
wb = Workbook()

# 选择默认的Sheet
sheet = wb.active

# 写入公式
for i in range(10):
    # 生成随机数公式
    col_letter = column_index_from_string('A')  # 将列字母转换为数字
    formula_str = "=RANDBETWEEN(1, 10)"
    formula_tokens = Tokenizer(formula_str).items
    formula = tuple(formula_tokens)
    sheet.cell(row=i+1, column=col_letter, value=formula)

# 保存Excel文件
wb.save("random_numbers.xlsx")

print("随机数写入Excel成功!")

运行结果如下:

随机数写入Excel成功!

九、excel指定范围内生成随机数

在Excel中,可以使用RAND函数和RANDBETWEEN函数结合起来生成指定范围内的随机小数。下面是示例代码:

from openpyxl import Workbook
from openpyxl.utils import column_index_from_string
from openpyxl.formula import Tokenizer

# 创建一个新的Excel文件
wb = Workbook()

# 选择默认的Sheet
sheet = wb.active

# 写入公式
for i in range(10):
    # 生成随机数公式
    col_letter = column_index_from_string('A')  # 将列字母转换为数字
    formula_str = "=RAND()*(10-1)+1"
    formula_tokens = Tokenizer(formula_str).items
    formula = tuple(formula_tokens)
    sheet.cell(row=i+1, column=col_letter, value=formula)

# 保存Excel文件
wb.save("random_numbers.xlsx")

print("随机数写入Excel成功!")

运行结果如下:

随机数写入Excel成功!