编写一个名为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,但是我得到的是假。
答案 0 :(得分:2)
嗯,我认为您可能无法解释这个问题?
如果x
和y
都大于41
if x > 41 and y > 41
如果x
和y
都小于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
的答案更简短