在 if/else 之后执行代码[重复]

问题描述 投票:0回答:3

关于在 if 语句之后执行某些操作的问题。 无论发生什么 if/else 结果,如何让此代码返回“我爱袋熊”? IE。每次运行时我都想返回“我爱袋熊”。

def is_wombats(x):
    if x.lower() == "wombat":
        return "yay wombats"
    else:
        return "no wombats"
    return "i love wombats"

print is_wombats("WOMbat")

TLDR:为什么 if/else 执行后没有 return 语句?

python python-2.7 if-statement
3个回答
1
投票

Return将退出当前函数,我认为你正在寻找的是这样的:

>>> def is_wombats(x):
...     if x.lower() == "wombat":
...         print "yay wombats"
...     else:
...         print "no wombats"
...     print "I love wombats"
...
>>> is_wombats("WOMbat")
yay wombats
I love wombats
>>> 

1
投票

问题与

return
的作用有关。它结束了该功能。在你
return
某事之后不会再运行任何其他东西。如果你每次都想返回
'I love wombats'
,这不是正确的做法。


0
投票

也许你想要这样的东西?

def is_wombats(x):
    if x.lower() == "wombat":
        result = "yay wombats"
    else:
        result = "no wombats"
    return result + " i love wombats"

然后

>>> print is_wombats("WOMbat")
"yay wombats i love wombats"
© www.soinside.com 2019 - 2024. All rights reserved.