2013-10-07 31 views
-4

我有一個相對容易的功能,我不知道如何翻譯成代碼。我已經導入了math模塊,因爲我可以看到我需要使用sqrtcossin數學我只是不能翻譯成代碼

下面是功能

Function

altfel被翻譯成else這個練習的圖像。我知道你需要使用一堆if/else陳述,但是我無法理解它。

+0

這可能有些用處 - http://matt.might.net/articles/discrete-math-and-code/ –

回答

4

只需使用一個單一的if/else確保xy在域中的右側部分:

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) 
    ...:  
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

嘗試

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) 
2

在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) 

這對我來說似乎更易讀。