python 2.7中的错误打印输出语句

时间:2015-07-08 18:06:17

标签: python-2.7

问题:

5.现在写函数is_odd(n),当n为奇数时返回True,否则返回False。

最后,修改它以便它使用对is_even的调用来确定它的参数是否是一个奇整数。

我必须为is_even(n)编写一个函数,当n even时返回True,否则返回False。这是我的代码:

def is_even(n):
    return n % 2 == 0



def is_odd(n):
    if is_even(n):
        print "This is an even integer."
    else:
        print "This is an odd integer."
    return n % 2 != 0

我的问题: 我是一个初学者并且很难找到编程但我喜欢它的原因,但为什么这不起作用?我定义了函数is_even(n)和is_odd(n),把is_even(n)放到了is_odd(n)函数中,写了if和else else语句,如果函数is_even等于true它应该打印出来它是一个甚至整数...当我输入is_odd(3);它打印出“这是一个偶数整数”并返回True,即使它应该打印出“这是一个奇数”。

更新

我将我的代码更改为此并且工作正常。

def is_even(n):
    return n % 2 == 0

def is_odd(n):
    if is_even(n) == False:
        print "This is an odd integer."

    return n % 2 != 0

1 个答案:

答案 0 :(得分:0)

您遇到IndentationError,因为您的缩进与您的缩进不一致。只要在Python中缩进,就会创建一个新块。您可以在阻止引入关键字后执行此操作,例如ifwhilefor等.Python不关心您在第一个阻止之前使用了多少空格或制表符或其他任何内容,但一旦您第一次做出选择,您必须使用相同的号码。我在您发布的代码中添加了一行代码,以显示:

Screenshot of code in question

看看r如何与f in if对齐?它需要与i对齐。在这个例子中,你的if不是相对于第一个块的正确缩进级别,产生了有问题的错误。