Ice-dreaming 2022-11-06 13:22 采纳率: 100%
浏览 17
已结题

想请问一下,这里如何实现self.t = s每次都取随机数,而不是随机后的固定值呢?

想请问一下,这里如何实现self.t = s每次都取随机数,而不是随机后的固定值呢?

from random import choice
import numpy as np
RandomNumber = np.random.choice([0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5], size=100, replace=True,
p=[0.05, 0.05, 0.15, 0.3, 0.2, 0.1, 0.15])
s = choice(RandomNumber)
class V:
def print_value(self):
    self.t = s
    w = self.t
    for i in range(10):
        g = i + w
        if g < 100:
          print(g)
a = V()
a.print_value()

运行结果
0.9
1.9
2.9
3.9
4.9
5.9
6.9
7.9
8.9
9.9

想要生成比如(类似,但比例遵循p)
1.3 #(0+1.3)
1.9 #(1+0.9
3.2 #(2+1.2)
4.1 #(3+1.1)
4.9 #(4+0.9)
6.5 #(5+1.5)
7.4 #(6+1.4)

展开全部

  • 写回答

1条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-11-06 13:30
    关注

    那就把s = choice(RandomNumber) 放进for循环里,每次都生成一个新的随机数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 11月14日
  • 已采纳回答 11月7日
  • 创建了问题 11月6日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部