2013-10-31 147 views
0
def shazday(y): 
    if y >= 1200 or <= 1299: 
     x = 4 

我一直在1299之前的「=」上得到語法,任何想法我做錯了什麼?我試圖找到這兩個數字之間的任何值來分配一個變量。我已經嘗試了範圍本身,但無法使其工作。如果我可以找出如何在Python中正確檢查一個範圍內的值,那就太好了。找到一個範圍內的值

回答

2
if y >= 1200 or y <= 1299: 

但是你大概的意思:

if 1200 <= y <= 1299: 
+1

或可替代'如果y> = 1200和y <= 1299:'因爲Python是唯一支持'a NullUserException

+0

奇怪的是,雖然這個方法有效(我試過了),但是當我運行這個函數的時候,我沒有得到「4」的返回值。例如 >> Shazday.shazday(1200) >>(空白) – zahz

+1

@Shaz你沒有任何回報;當您退出函數 – NullUserException

1
def shazday(y): 
    if y >= 1200 or y <= 1299: 
     x = 4 

注意y第二<=之前。雖然y is greater equal or smaller equal是在英語語言有效,大家都明白的意思,這不適合編程語言工作...

什麼解釋程序是一樣的東西

(y >= 1200) is it true or false? 
(y <= 1299) is it true or false? 

...然後應用邏輯運營商or。如果第二y丟失,編譯器不知道究竟應該更小等於1299

編輯:

除了缺少y你也可以改變orand。否則,條件將始終爲真,因爲每個數字是>= 1200>=1299

+1

@NullUserException是的,但這不是問題。 – PhillipD

+0

好的....你贏了...我會給我的帖子添加一個註釋... – PhillipD

2

這樣看,在if聲明你想評估幾個條件。所以我們把它分解下來

if y >= 1200 or <= 1299: 

y> = 1200?讓我們說是。

if true or <= 1299 

接下來我們問的是...等一下?沒有什麼可比較的! (blank) <= 1299,系統不知道(blank)應該是什麼,所以它會一直喊你,直到你給它一些東西。在這種情況下,我們要告訴它來檢查y

if y >= 1200 or y <= 1299: 
       ^

另一種方式形成,這是下面,仍然滿足每個比較有東西比較

if 1200 <= y <= 1299: 

# this can be thought of as below 
if 1200 <= y and 
      y <= 1299: