这些是我的说明https://cs1110.cs.virginia.edu/pa05-maydate.html
def creepy(x, y):
x = (x // 2)+7
y = (y*2-13)
return x > y
我应该用一个函数编写一个文件:令人毛骨悚然。令人毛骨悚然的应该有两个论点,两个人的年龄。如果两者可能相互约会而不会令人毛骨悚然,那么它应该返回False。
X和Y表示两个人彼此约会的可接受年龄。 x =您年龄的一半加上七岁 y =你的年龄减去十三岁
所有代码必须在函数内。我知道我做错了,因为我习惯使用“Else / if”来完成这样的事情。
我应该如何定义我的函数?
答案 0 :(得分:1)
我相信你误解了这个问题。您从源头提及的两个条件从您的年龄开始,并提供可接受的较低年龄限制和可接受的年龄上限。有两个条件,因为每个输入年龄都有两个答案,一个较低,一个较高。
但你的任务是拿一对数字,其中第一个数字总是较小的数字,并说明较大的数字是否高于可接受的年龄上限。所以你只需要一个条件,而不是两个。
def creepy(x, y):
return x < (y // 2) + 7
您的来源将这些作为可接受的答案:
How old are you? 17
You can date people between 15 and 21 years old
How old are you? 70
You can date people between 42 and 127
我们可以通过输入这些数字来测试函数creepy
,如下所示:
>>> creepy(14,17)
True
>>> creepy(15,17)
False
>>> creepy(17,21)
False
>>> creepy(17,22)
True
这些结果与输入17匹配;输出15-21。
>>> creepy(41,70)
True
>>> creepy(42,70)
False
>>> creepy(70,127)
False
>>> creepy(70,128)
True
这些结果与输入70匹配;输出42-127。
如果您希望该功能在较旧/较年轻的方向上处理年龄计算,则仍然不需要两个条件。你可以这样做:
def creepy(x, y):
if x <= y:
return x < (y // 2) + 7
else:
return creepy(y, x)