print "------------ EPIDEMIOLOGY --------------\n"
def divide(A,B):
return A/B
print " [Population] point Prevalence rate: "
A = input("Enter value for people with disease: " )
B = input("Enter value for total population: " )
prevalence = divide(A,B)
print " Population Prevalence rate is: ",prevalence
A和B是用户输入,不知道它们是整数还是浮点。当我运行这个程序时,我的答案总是0。(我是Python新手)。如何解决这个问题或改变我的功能来避免这个问题?在
代码的输入部分起作用,数学不起作用。在
您得到的答案是
0
,因为您使用Python2并执行整数除法。患病人口不能高于总人口这一事实是,每一个合理的输入都会得到零(除非两个值相同)。在两个修复:
这将确保函数执行浮点除法,而不管传递给它什么数字。第二个修复方法是在Python2中使用
^{pr2}$raw_input
,并将输入转换为一个数字(float
在这里可以)。在input()
的问题是它等价于eval(raw_input())
。在在python2.x中执行整数除法。如果被除数小于除数,则运算返回零。
所以你有两个选择:
将其中一个操作数设为浮点:
从Python 3导入功能
^{pr2}$相关问题 更多 >
编程相关推荐