繁体   English   中英

定义功能

[英]Defining functions

我有这段代码,如果鹦鹉在说话,什么时候返回,则返回true或false。 此位工作完美,它正确返回了值,但我要执行的操作不是返回真值还是假值,而是返回打印语句。

def parrot_talking(talking, hour):

    if talking and (hour < 7 or hour >20):
        return True
    else:
        return False
parrot1 = parrot_talking(True, 8)

print(parrot1)

这一点工作正常,但是当我运行它时,代码的下一部分会一直给我“ NONE”。

def parrot_talking(talking, hour):

    if talking and (hour < 7 or hour >20):
        print("Trouble")
    else:
        print("Its fine")
parrot1 = parrot_talking(True, 5)

print(parrot1)

这就是它应该返回的

#parrot_trouble(True, 6) → True
#parrot_trouble(True, 7) → False
#parrot_trouble(False, 6) → False

任何帮助都感激不尽

我不确定这是否是您需要的,但是您可以修改函数以在保留print语句的同时返回布尔值:

def parrot_talking(talking, hour):    
    if talking and (hour < 7 or hour >20):
        print("Trouble")
        return True;
    else:
        print("Its fine")
        return False    
parrot1 = parrot_talking(True, 5)    
print(parrot1)

或者您可以返回字符串值:

def parrot_talking(talking, hour):    
    if talking and (hour < 7 or hour >20):
        return "Trouble"
    else:
        return "Its fine"    
parrot1 = parrot_talking(True, 5)    
print(parrot1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM