我有一个相对简单的功能,我不知道如何翻译成代码。我已经导入了math
模块,因为我可以看到我需要使用sqrt
,cos
和sin
。
以下是功能
的图像本练习将
altfel
翻译为else
。我知道您需要使用一堆if
/ else
语句,但我无法理解它。
答案 0 :(得分:4)
只需使用一个if/else
即可确保x
和y
位于域的正确部分:
In [1]: from math import sqrt, cos, sin
In [2]: def f(x, y):
...: if (x < -1 or x > 3) and (y < -1 or y > 1):
...: return sqrt(y)/(3 * x - 7)
...: else:
...: return cos(x) + sin(y)
...:
答案 1 :(得分:2)
易:
from math import sqrt, cos, sin
def f(x, y):
if (x < -1 or x > 3) and (y < -1 or y > 1):
return sqrt(y) / (3 * x - 7)
else:
return cos(x) + sin(y)
答案 2 :(得分:2)
尝试
import math
def f(x, y):
if (x < -1 or x > 3) and (y < -1 or y > 1): # these are the conditions for x and y
return math.sqrt(y) / (3*x - 7)
else:
return math.cos(x) + math.sin(y)
答案 3 :(得分:2)
在Python中,您可以使用比较运算符a < b < c
的连接来测试间隔,因此:
from math import sqrt, cos, sin
def f(x, y):
if -1 <= x <= 3 and -1 <= y <= 1:
return cos(x) + sin(y)
else:
return sqrt(y) / (3 * x - 7)
这对我来说似乎更具可读性。