布尔语句的难度

时间:2018-09-13 00:02:52

标签: python

编写一个名为same_side的函数,该函数使用两个整数作为参数。如果输入均大于41或均小于41,则该函数将返回一个表示True的布尔值。如果输入不在41的同一侧,或者输入均等于41,则该函数应返回代表False的值。

def same_side(x, y):
    if x > 41 and x < 41:
        return True
    if y > 41 and y < 41:
        return True
    else:
        return False

输入[14,0]应该使语句为true,但是我得到的是假。

3 个答案:

答案 0 :(得分:2)

嗯,我认为您可能无法解释这个问题?

如果xy都大于41

if x > 41 and y > 41

如果xy都小于41

if x < 41 and y < 41

您的else语句很好

答案 1 :(得分:1)

请说明您如何期望x的单个值同时小于41和大于41 。这将违反排除在外的法律

看看您使用的单词;将那些转换为if语句。例如:

if x > 41 and y > 41:

看到区别了吗?

现在,要更简洁地执行此操作...

return (x > 41 and y > 41) or \
       (x < 41 and y < 41)

这将在一个不太简单的表达式中计算所需的布尔值。没有if,没有else

答案 2 :(得分:0)

你是这个意思吗?

def same_side(x=14, y=0):
    if x > 41 and y > 41:
        return True
    elif x < 41 and y < 41:
        return True
    return False

Prune的答案更简短