Python3定义房间条件

时间:2014-03-21 01:27:25

标签: python function python-3.x conditional-statements boolean-logic

def isdark():
    dark = True

dark = isdark()

if dark:
    print('bt')
else:
    print('dasd')

我试图制作它以便打印bt但是打印dasd,为什么dark = is dark()条件不起作用?

3 个答案:

答案 0 :(得分:3)

def isdark():
     dark = True

在这里,您不是要分配全局变量,而是创建局部变量并为其分配True。相反,您可以像这样

返回函数中的值
def isdark():
     return True

因为,您要使用此行将返回值分配给dark变量

dark = isdark()

isdark返回的任何内容都将分配给dark

除此之外,如果您只是用来检查if条件,那么您可以像这样重写代码

if isdark():
    print('bt')
else:
    print('dasd')

答案 1 :(得分:1)

isdark()是一个没有return语句的函数,因此默认情况下它返回None。所以dark永远不会评估为真。

您通过两种不同的方式使用相同的变量让自己感到困惑。以下是我将如何做到这一点:

dark = True
def isdark():
     return dark

if isdark():
    print('bt')
else:
     print('dasd')

或更简单:

isdark = True

if isdark:
    print('bt')
else:
     print('dasd')

甚至更简单

isdark = True
print('bt' if isdark else 'dasd')

答案 2 :(得分:0)

你需要回归黑暗,就像这样:

def isdark():
     dark = True
     return dark

dark = isdark()

if dark:
    print('bt')
else:
     print('dasd')