跟老齊學Python之複習if語句

2022-10-04 23:45:30 字數 3796 閱讀 4171

基本語句結構

複製** **如下:

if 判斷條件1:

執行語句1……

elif 判斷條件2:

執行語句2……

elif 判斷條件3:

執行語句3……

else:

執行語句4……

只有當「判斷條件」的值是true的時候,才執行下面的執行語句。

那麼,在python中,怎麼知道乙個判斷條件是不是真呢?這個問題我們在眼花繚亂的運算子中已經講解了一種資料型別:布林型別。可以通過乙個內建函式bool()來判斷乙個條件的結果true還是false。看看下面的例子,是不是能夠理解bool()的判斷規則?

複製** **如下:

>>> bool("")

false

>>> bool(0)

false

>>> bool('none')

true

>>> bool(false)

false

>>> bool("false")

true

>>> bool(true)

true

>>> bool("true")

true

>>> bool(3>4)

false

>>> bool("b">"a")

true

>>> bool(not "")

true

>>> bool(not true)

false

忘記了怎麼辦?看下面的語句:

if 忘記:

複習-->眼花繚亂的運算子一講

在執行語句中,其實不一定非要把bool()寫上的。如同這樣:

複製** **如下:

>>> x = 9

>>> if bool(x>7):       #條件為true則執行下面的

...     print "%d more than 7"%x

... else:

...     print "%d not more than 7"%x

...

9 more than 7

>>> if x>7:

...     print "%d more than 7"%x

... else:

...     print "%d not more than 7"%程式設計客棧x

...

9 more than 7

以上兩個寫法是等效的,但是,在實際的程式設計中,我們不用if bool(x>7)的格式,而是使用if x>7的樣式,還要特別提醒,如果寫成if (x>7),用乙個括號把條件表示式括起來,是不是可以呢?可以,但也不是python提倡的。

複製** **如下:

>>> if (x>7):       #不提倡這麼寫,這不是python風格

...     print "%d more than 7"%x

...

9 more than 7

拉出來溜溜

平時總有人在不服氣的時候說「是騾子是馬,拉出來溜溜」,趙本山有一句名言「走兩步」。其本質都是說「光說不練是假把式」。今天收到乙個朋友的郵件,也詢問,在學習python的時候,記不住python的內容。其實不用記,我在前面的課程中已經反覆講過了。但是,在應用中,會越來越熟練。

下面就做乙個練習,要求是:

接收任何字元和數字的輸入

判斷輸入的內容,如果不是整數是字元,就告訴給使用者;如果是程式設計客棧小數,也告訴使用者

如果輸入的是整數,判斷這個整數是奇數還是偶數,並且告訴給使用者

在這個練習中,顯然要對輸入的內容進行判斷,以下幾點需要看官注意:

通過raw_input()得到的輸入內容,都是str型別

要判斷乙個字串是否是由純粹數字組成,可以使用str.isdigit()(建議看官檢視該內建函式官方文件)

下面的**是乙個參考:

複製** **如下:

#! /usr/bin/env python

#coding:utf-8

print "請輸入字串,然後按下回車鍵:"

user_input = raw_input()

result = user_input.isdigit()

if not result:

print "您輸入的不完全是數字"

elif int(user_input)%2==0:

print "您輸入的是乙個偶數"

elif int(user_input)%2!=0:

&nbs   print "您輸入的是乙個奇數"

else:

print "您沒有輸入什麼呢吧"

特別提醒列為,這個**不是非常完善的,還有能夠修改的地方,看官能否完善之?

再來乙個如何?

已知乙個由整數構成的list,從中跳出奇數和偶數,並且各放在乙個list中。

請看官在看下面的參考**之前,自己寫一寫。

複製** **如下:

#!/usr/bin/env python

#coding:utf-8

import random

numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到隨機的list

odd =

even 程式設計客棧=

for x in numbers:

if x%2==0:

even.append(x)

else:

odd.append(x)

print numbers

print "odd:",odd

print "even:",even

用這個例子演示一下if在list解析中的應用。看能不能繼續改進一些呢?

可以將迴圈的那部分用下面的list解析代替

複製** **如下:

#!/usr/bin/env python

#coding:utf-8

import random

nuzpidokimbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到隨機的list

odd = [x for x in numbers if x%2!=0]

even = [x for x in numbers if x%2==0]

print numbers

print "odd:",odd

print "even:",even

乙個有趣的賦值

對賦值,看官應該比較熟悉了吧,如果要複習,請看《[賦值,簡單也不簡單]》(./127.md)以及《[正規地說一句]》(./201.md)的相關內容。

這裡說的有趣賦值是什麼樣子的呢?請看:

複製** **如下:

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

再看看上面的例子,是不是這樣執行呢?

if語句似乎簡單,但是在程式設計時間中常用到。勤加練習吧。

本文標題: 跟老齊學python之複習if語句

本文位址:

跟老齊學Python之Python安裝

任何高階語言都是需要乙個自己的程式設計環境的,這就好比寫字一樣,需要有紙和筆,在計算機上寫東西,也需要有文字處理軟體,比如各種名稱的office。筆和紙以及office軟體,就是寫東西的硬體或軟體,總之,那些文字只能寫在那個上邊,才能最後成為一篇文章。那麼程式設計也是,要有個什麼程式之類的東西,要把...

跟老齊學Python從入門到精通

import requests print dir requests r requests.get print r.cookies print r.headers print r.encoding print r.status code print r.text 請求發出後 requests會基於h...

跟老齊學Python之重回函式

函式的基本結構 python中的函式基本結構 複製 如下 def 函式名 引數列表 語句幾點說明 函式名的命名規則要符合python中的命名要求。一般用小寫字母和單下劃線 數字等組合 def是函式的開始,這個簡寫來自英文單詞define,顯然,就是要定義乙個什麼東西 函式名後面是圓括號,括號裡面,可...