python - Python:如何将变量设置为加权列表中的随机值?
问题描述
我对编码很陌生,我无法找到上述问题的答案。这是我所拥有的:
E0 = 1
rho = 0.8
def sigma():
numberlist = [0.5, 0.2, 0.14, 0.07]
sigmanew = randomchoices(numberlist, weights=(5, 15, 30, 50), k=1)
return sigmanew
def deriv(y, t, sigma, rho)
E = y
dEdt = sigma * (1 - rho) * E
return dEdt
t = np.linspace(0, 250, 61)
y0 = E0
ret = odeint(deriv, y0, t, args=(N, sigma, rho))
E = ret.T
每次我根据这些权重运行代码时,我想将 sigma 的值设置为新的值,但这似乎不起作用。我知道我可以在这个范围内调用 random.uniform ,但是这些值是加权的这一事实很重要。我怎样才能做到这一点?
解决方案
假设您想生成一个数字,比如说从 1 到 10,您可以使用此代码
import random
n = random.randint(1,10)
第一个值 1 是最小值,第二个值 10 是最大值。
推荐阅读
- sql-server - 通过 ODBC 链接服务器将 AS400 (V7R3M0) 与 SQL Server 2017 连接时出现问题
- c# - 没有注册名为“默认”的 IUserTwoFactorTokenProvider。问题是两 (2) 个 ASP.NET Core 身份注册中的 AddDefaultTokenProviders()
- vue.js - 我无法让我的 vue 组件发出工作
- scala - 如何拆分元组scala列表
- reactjs - 如何修复我的 Failed to compile 定义错误?
- apache-kafka-streams - RocksDB生成的文件夹有哪些
- android - 无法识别 Android 中的一个菜单项
- mapbox-gl-js - 如何将 Turf.js squareGrid 图层添加到 mapbox gl?
- react-native - 在 iOS 上构建和运行已完成的项目
- autoplay - 优酷视频,隐藏控件和相关视频并启用自动播放