我有一個相對容易的功能,我不知道如何翻譯成代碼。我已經導入了math
模塊,因爲我可以看到我需要使用sqrt
,cos
和sin
。數學我只是不能翻譯成代碼
下面是功能
altfel
被翻譯成else
這個練習的圖像。我知道你需要使用一堆if
/else
陳述,但是我無法理解它。
我有一個相對容易的功能,我不知道如何翻譯成代碼。我已經導入了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,您可以使用比較運算符0的連接測試一段時間,所以:
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)
這對我來說似乎更易讀。
這可能有些用處 - http://matt.might.net/articles/discrete-math-and-code/ –