我正在尝试编写以下代码:
将有六个输入,比如1,2,3,4,5,6
输入2-6有两个可能的选项(说是和否)
输入1有七个可能的选项(比如a-g)
根据选择的输入,将生成特定输出。
所以如果你有 - a,yes,yes,no,no,no - 它会产生结果'x'
我设法创建了一个包含所有可能输入组合的列表(使用python):
list = [[23,24,25,26,27,28,29],["male","female"],["true","false"],["true","false"],["true","false"],["true","false"]]
r=[[]]
for e in list:
table = []
for item in e:
for i in r:
table.append(i+[item])
r = table
print r
我的下一个阶段是为每个选项分配一个结果。我想最好的方法是将输出附加到每个列表项,以便
对于索引中的e,如果e [0] -e [5]与输入匹配则打印出e [6]
这是一个好方法吗?
修改
为了让它更清楚我只是想我会解释我实际上要做的事情。它是医生的免费工具(我是一名医生 - 不仅仅是为了商业目的,只是为了改善患者护理)。
这是一种计算患者风险的方法,因此医生会输入五个问题 - 例如男性/女性等,根据他们的输入,它将产生结果作为患者的风险百分比。我们使用多年的先前患者结果数据来生成结果表。
答案 0 :(得分:2)
您可以将输入2-6视为5位(5个布尔值),将输入1视为3个更高位(以编码7个值)。然后从0循环到223,并通过将数字解码为上述方案来生成所有可能的组合。