我有一个相对简单的功能,我不知道如何翻译成代码。我已经导入了math
模块,因为我可以看到我需要使用sqrt
、cos
和sin
.
下面是函数的图片
altfel
被翻译成else
这个练习。我知道您需要使用一堆if
/else
语句,但我无法理解它。
只需使用一个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)
...:
简单的:
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)
尝试
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)
在 Python 中,您可以使用比较运算符的串联 froma < 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)
这对我来说似乎更具可读性。