【发布时间】:2015-05-06 20:34:49
【问题描述】:
我正在尝试创建一个接受两个列表的程序。第一个列表是任何数字,第二个列表是输出数字的概率。该程序将要求输入数字,然后是概率。然后程序将这两者合并,使它们相互映射。然后程序应该根据输入的概率返回一个数字。
我已经创建了这个程序并且它做到了这一点,我只有一个问题,我怎样才能得到它,以便在概率列表中,你可以输入浮点数(0.1,0.2)。我可以这样做,但是代码的其他部分会返回错误。另外,如果使用浮点数(0.5、0.5)或不使用浮点数,用户输入的概率只能加到 1 或 10?
pos_values = []
probability = []
maxLengthList = 5
while len(pos_values) < maxLengthList:
number = input("Enter a number: ")
pos_values.append(number)
prob = input("Enter a probability: ")
probability.append(prob)
cumulative_probability = list(zip(pos_values, probability))
prob = [val for val, cnt in cumulative_probability for i in range(cnt)]
outcome = []
for i in range (1):
outcome.append(random.choice(prob))
print('Possible outcome returned is: ', outcome)
我的代码完全符合我的要求,我的问题是如何使输入的概率总和不能超过 1 或 10。
【问题讨论】:
-
@tzaman 没有解释如何使用浮点数或确保列表中的概率只能 = 1 或 10,这是我的问题
标签: python list probability