【问题标题】:Python If else statement have a bug maybePython If else 语句可能有错误
【发布时间】:2021-01-11 19:17:54
【问题描述】:
def evod(number):
    if number % 2 == 0:
        print("The number is even")
    return"The number is odd"

print(evod(60))


Output:
The number is even
The number is odd

如果我运行这个函数,它会打印两行。它应该打印其中的一个。为什么会这样?请帮忙...

【问题讨论】:

  • 代码正确。如果是偶数,则先进入 if 语句,然后执行下一行,即返回行。添加一个if else,我会切换到纯打印语句和一个返回值True False

标签: python function if-statement return


【解决方案1】:

您在函数内部打印一个并每次返回另一个,您需要同时返回两个并让外部的print 成为实际打印它的那个。

def evod(number):
    if number % 2 == 0:
        return "The number is even"
    return "The number is odd"

print(evod(60))

输出:

The number is even

【讨论】:

  • 您可能想解释一下为什么要打印两者
  • 酷。另一种方法是将打印放在ifelse 中。那你就不需要在外面打印了。
  • @leoOrion 多种替代解决方案,例如return "The number is even" if number % 2 == 0 else "The number is odd"
【解决方案2】:

第一个错误是您正在打印“数字是偶数”这一行。 用返回替换打印

【讨论】:

    【解决方案3】:

    如果您的号码是偶数,则使用 print() 返回答案。您的代码并没有结束,因为 print() 不像返回那样工作。所以 print 和 return 语句都会被执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-21
      • 1970-01-01
      • 2015-11-18
      • 2015-01-05
      • 1970-01-01
      • 2018-08-30
      • 1970-01-01
      相关资源
      最近更新 更多