Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 定义函数时使用多个参数而不使用if?_Python_Function_Boolean_Arguments - Fatal编程技术网

Python 定义函数时使用多个参数而不使用if?

Python 定义函数时使用多个参数而不使用if?,python,function,boolean,arguments,Python,Function,Boolean,Arguments,这是我的指示 我应该写一个只有一个功能的文件:令人毛骨悚然。毛骨悚然应该有两个论点,两个人的年龄。如果两人可以约会而不令人毛骨悚然,那么应该返回False,True X和Y代表两个人约会的可接受年龄。 x=你年龄的一半加上七岁 y=你年龄的两倍减去13 所有代码必须在函数中。我知道我做错了,因为我习惯用“Else/if”来完成类似的事情 对我应该如何定义我的函数有什么修正吗?我相信你误解了这个问题。你从资料中提到的两个条件都是从你的年龄开始的,并为约会提供了一个可接受的年龄下限和一个可接受的年龄

这是我的指示

我应该写一个只有一个功能的文件:令人毛骨悚然。毛骨悚然应该有两个论点,两个人的年龄。如果两人可以约会而不令人毛骨悚然,那么应该返回False,True

X和Y代表两个人约会的可接受年龄。 x=你年龄的一半加上七岁 y=你年龄的两倍减去13

所有代码必须在函数中。我知道我做错了,因为我习惯用“Else/if”来完成类似的事情


对我应该如何定义我的函数有什么修正吗?

我相信你误解了这个问题。你从资料中提到的两个条件都是从你的年龄开始的,并为约会提供了一个可接受的年龄下限和一个可接受的年龄上限。有两个条件,因为每个输入年龄都有两个答案,一个低一个高一个

但你的任务是取一对数字,其中第一个总是较小的数字,并说明较大的数字是否高于可接受的年龄上限。所以你只需要一个条件,而不是两个

def creepy(x, y):
    return x < (y // 2) + 7
我们可以通过输入这些数字来测试函数
cropery
,如下所示:

>>> creepy(14,17)
True
>>> creepy(15,17)
False
>>> creepy(17,21)
False
>>> creepy(17,22)
True
def creepy(x, y):
    if x <= y:
        return x < (y // 2) + 7
    else:
        return creepy(y, x)
这些结果与输入17相匹配;产出15-21

>>> creepy(41,70)
True
>>> creepy(42,70)
False
>>> creepy(70,127)
False
>>> creepy(70,128)
True
这些结果与输入70相匹配;产出42-127

如果希望函数以较旧/较年轻的方向处理年龄计算,则仍然不需要两个条件。您可以这样做:

>>> creepy(14,17)
True
>>> creepy(15,17)
False
>>> creepy(17,21)
False
>>> creepy(17,22)
True
def creepy(x, y):
    if x <= y:
        return x < (y // 2) + 7
    else:
        return creepy(y, x)
def令人毛骨悚然(x,y):

如果x,则不需要
if/else
。当两个条件都为
True
:第一个条件和第二个条件时,函数应返回
True
。使用逻辑运算符将此语句转换为python。@DYZ我意识到if/else对此不是必需的。我试图返回“如果x大于y,则返回True;如果x大于y,则返回False”。您正是这样做的。但这是一个错误的答案。