Python-测试用户定义的函数但没有正常运行

时间:2014-07-03 04:49:05

标签: python function if-statement

以下是我的节目......

var = raw_input('Please enter a value: ')

def is_positive(var):
    if var > 0:
        return True
    if var <= 0:
        return False

if is_positive(var) == True:
    print "%s is greater than zero." %var
else:
    print "%s is NOT greater than zero." %var

当我运行程序时,输出是......

  

请输入值:-2

     

-2大于零。

对于我想要打印的功能而言没有任何意义。我对编程非常陌生,无法理解我所缺少的东西。任何帮助都将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:1)

尝试

def is_positive(var):
    print type(var)
    if var > 0:
        return True
    if var <= 0:
        return False

答案 1 :(得分:0)

您必须将其强制转换为int,并且在方法中,您必须检查a而不是var。此外,您可以简单地is_positive(a)如下。这是正确的代码:

var = int(raw_input('Please enter a value: '))

def is_positive(a):
    return a > 0

if is_positive(var):
    print "%s is greater than zero." %var
else:
    print "%s is NOT greater than zero." %var

如果您没有将输入转换为int,则表示您正在比较不符合预期的字符串