您可以得到答案,0
因为您正在使用Python2并执行整数除法.疾病人群不能高于总人口的事实是每个合理输入得到零的原因(除非两个值相同).
两个修复:
def divide(a,b): if b == 0: # decide for yourself what should happen here else: return float(a)/b
这将确保您的函数执行浮点除法,而不管您传递给它的数字.第二个修复是你应该raw_input
在Python2中使用并将输入转换为数字(float
在这里会很好).
a = float(raw_input("Enter value for people with disease: ")) # add error checking as needed b = float(raw_input("Enter value for total population: " )) # add error checking as needed
问题input()
是它等同于eval(raw_input())
.
您可以得到答案,0
因为您正在使用Python2并执行整数除法.疾病人群不能高于总人口的事实是每个合理输入得到零的原因(除非两个值相同).
两个修复:
def divide(a,b): if b == 0: # decide for yourself what should happen here else: return float(a)/b
这将确保您的函数执行浮点除法,而不管您传递给它的数字.第二个修复是你应该raw_input
在Python2中使用并将输入转换为数字(float
在这里会很好).
a = float(raw_input("Enter value for people with disease: ")) # add error checking as needed b = float(raw_input("Enter value for total population: " )) # add error checking as needed
问题input()
是它等同于eval(raw_input())
.