這篇文章主要介紹了Python中的條件判斷語句基礎學習教程,文中使用的是Python2.x版本但條件語句部分的使用規則未在3.x中改變,需要的朋友可以參考下
if語句用來檢驗一個條件, 如果條件為真,我們執行一塊語句(稱為if-區塊), 否則我們處理另外一塊語句(稱為else-區塊)。 else 子句是可選的。
使用if語句:
#!/usr/bin/python # Filename: if.py number = 23 guess = int(raw_input('Enter an integer : ')) if guess == number: print 'Congratulations, you guessed it.' # New block starts here print "(but you do not win any prizes!)" # New block ends here elif guess < number: print 'No, it is a little higher than that' # Another block # You can do whatever you want in a block ... else: print 'No, it is a little lower than that' # you must have guess > number to reach here print 'Done' # This last statement is always executed, after the if statement is executed
#輸出:
$ python if.py Enter an integer : 50 No, it is a little lower than that Done $ python if.py Enter an integer : 22 No, it is a little higher than that Done $ python if.py Enter an integer : 23 Congratulations, you guessed it. (but you do not win any prizes!) Done
我們為內建的raw_input函數提供一個字串,這個字串被印在螢幕上,然後等待使用者的輸入。一旦我們輸入一些東西,然後按下回車鍵之後,函數返回輸入。對於raw_input函數來說是一個字串。我們透過int把這個字串轉換為整數,並把它儲存在變數guess中。事實上,int是一個類,不過你想在對它所需了解的只是它把一個字串轉換為一個整數(假設這個字串含有一個有效的整數文字資訊)。
接下來,我們將使用者的猜測與我們選擇的數做比較。如果他們相等,我們列印一個成功的訊息。注意我們使用了縮排層次來告訴Python每個語句分別屬於哪一個區塊。這就是為什麼縮排在Python如此重要的原因。我希望你能夠堅持「每個縮排層一個製表符」的規則。你是這樣的嗎?
注意if語句在結尾處包含一個冒號-我們透過它告訴Python下面跟著一個語句區塊。
然後,我們檢驗猜測是否小於我們的數,如果是這樣的,我們告訴使用者它的猜測大了一點。我們在這裡使用的是elif子句,它事實上把兩個相關聯的if else-if else語句合併為一個if-elif-else語句。這使得程序更加簡單,並且減少了所需的縮排數量。
elif和else子句都必須在邏輯行結尾處有一個冒號,下面跟著一個對應的語句區塊(當然也包含正確的縮排)。
你也可以在一個if區塊中使用另一個if語句,等等-這稱為嵌套的if語句。
記住,elif和else部分是可選的。一個最簡單的有效if語句是:
if True: print 'Yes, it is true'
在Python執行完一個完整的if語句以及與它相關聯的elif和else子句之後,它移向if語句區塊的下一個語句。在這個例子中,這個語句塊是主塊。程式從主區塊開始執行,而下一個語句是print 'Done'語句。在這之後,Python看到程式的結尾,簡單的結束運行。
儘管這是一個非常簡單的程序,但是我已經在這個簡單的程序中指出了許多你應該注意的地方。所有這些都是十分直接了當的(對於那些擁有C/C 背景的用戶來說是特別簡單的)。它們在開始時會引起你的注意,但是以後你會對它們感到熟悉、「自然」。
下面我們再來看一個程式碼實例:
#! /usr/bin/env python #coding:utf-8 print "请输入任意一个整数数字:" number = int(raw_input()) #通过 raw_input()输入的数字是字符串 #用 int()将该字符串转化为整数 if number == 10: print "您输入的数字是:%d"%number print "You are SMART." elif number > 10: print "您输入的数字是:%d"%number print "This number is more than 10." elif number < 10: print "您输入的数字是:%d"%number print "This number is less than 10." else: print "Are you a human?"
特別提醒看官注意,前面我們已經用過raw_input() 函數了,這個是取得使用者在介面上輸入的信息,而透過它得到的是字串類型的資料。
上述程序,依據條件判斷,不同條件下做不同的事情了。需要提醒的是在條件中:number == 10,為了閱讀方便,在 number 和 == 之間有一個空格最好了,同理,後面也有一個。這裡的10,是int 類型,number 也是int 類型.
把這段程式保存成一個擴展名是.py 的文件,例如保存為num.py,進入到存儲這個文件的目錄,運行Python num.py,就能看到程式執行結果了。以下是我執行的結果,供參考。
$ Python num.py
请输入任意一个整数数字:#複製程式碼
程式碼如下:
#
您输入的数字是:12 This number is more than 10.
$ Python num.py
#
请输入任意一个整数数字:
複製程式碼 程式碼如下:
10
您输入的数字是:10 You are SMART.
$ Python num.py
请输入任意一个整数数字:複製程式碼### 程式碼如下:######9##########
您输入的数字是:9 This number is less than 10.#########不知道各位是否注意到,上面的那段程式碼,開始有一行:#########
#! /usr/bin/env python#########這是什麼意思呢? ###
这句话以 # 开头,表示本来不在程序中运行。这句话的用途是告诉机器寻找到该设备上的 Python 解释器,操作系统使用它找到的解释器来运行文件中的程序代码。有的程序里写的是 /usr/bin Python,表示 Python 解释器在 /usr/bin 里面。但是,如果写成 /usr/bin/env,则表示要通过系统搜索路径寻找 Python 解释器。不同系统,可能解释器的位置不同,所以这种方式能够让代码更将拥有可移植性。对了,以上是对 Unix 系列操作系统而言。对与 windows 系统,这句话就当不存在。
在“条件”中,就是上节提到的各种条件运算表达式,如果是 True,就执行该条件下的语句。
三元操作符
三元操作,是条件语句中比较简练的一种赋值方式,它的模样是这样的:
>>> name = "qiwsir" if "laoqi" else "github" >>> name 'qiwsir' >>> name = 'qiwsir' if "" else "python" >>> name 'Python' >>> name = "qiwsir" if "github" else "" >>> name 'qiwsir'
总结一下:A = Y if X else Z
什么意思,结合前面的例子,可以看出:
如果 X 为真,那么就执行 A=Y
如果 X 为假,就执行 A=Z
如此例
>>> x = 2 >>> y = 8 >>> a = "python" if x>y else "qiwsir" >>> a 'qiwsir' >>> b = "python" if x<y else "qiwsir" >>> b 'python'
相关推荐:
以上是Python中的條件判斷語句基礎學習的詳細內容。更多資訊請關注PHP中文網其他相關文章!