最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

跟老齊學(xué)Python之復(fù)習(xí)if語句

 更新時(shí)間:2014年10月02日 15:28:37   投稿:hebedich  
是否記得,在上一部分,有一講專門介紹if語句的:從if開始語句的征程。在學(xué)習(xí)if語句的時(shí)候,對python編程的基礎(chǔ)知識了解的還不是很多,或許沒有做什么太復(fù)雜的東西。本講要對它進(jìn)行一番復(fù)習(xí),通過復(fù)習(xí)提高一下。如果此前有的東西忘記了,建議首先回頭看看前面那講。

基本語句結(jié)構(gòu)

復(fù)制代碼 代碼如下:

if 判斷條件1:
    執(zhí)行語句1……
elif 判斷條件2:
    執(zhí)行語句2……
elif 判斷條件3:
    執(zhí)行語句3……
else:
    執(zhí)行語句4……

只有當(dāng)“判斷條件”的值是True的時(shí)候,才執(zhí)行下面的執(zhí)行語句。

那么,在python中,怎么知道一個(gè)判斷條件是不是真呢?這個(gè)問題我們在眼花繚亂的運(yùn)算符中已經(jīng)講解了一種數(shù)據(jù)類型:布爾類型??梢酝ㄟ^一個(gè)內(nèi)置函數(shù)bool()來判斷一個(gè)條件的結(jié)果True還是False。看看下面的例子,是不是能夠理解bool()的判斷規(guī)則?

復(fù)制代碼 代碼如下:

>>> 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 忘記:
    復(fù)習(xí)-->眼花繚亂的運(yùn)算符一講
在執(zhí)行語句中,其實(shí)不一定非要把bool()寫上的。如同這樣:

復(fù)制代碼 代碼如下:

>>> x = 9

>>> if bool(x>7):       #條件為True則執(zhí)行下面的
...     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

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

復(fù)制代碼 代碼如下:

>>> if (x>7):       #不提倡這么寫,這不是python風(fēng)格
...     print "%d more than 7"%x
...
9 more than 7

拉出來溜溜

平時(shí)總有人在不服氣的時(shí)候說“是騾子是馬,拉出來溜溜”,趙本山有一句名言“走兩步”。其本質(zhì)都是說“光說不練是假把式”。今天收到一個(gè)朋友的郵件,也詢問,在學(xué)習(xí)python的時(shí)候,記不住python的內(nèi)容。其實(shí)不用記,我在前面的課程中已經(jīng)反復(fù)講過了。但是,在應(yīng)用中,會越來越熟練。

下面就做一個(gè)練習(xí),要求是:

接收任何字符和數(shù)字的輸入
判斷輸入的內(nèi)容,如果不是整數(shù)是字符,就告訴給用戶;如果是小數(shù),也告訴用戶
如果輸入的是整數(shù),判斷這個(gè)整數(shù)是奇數(shù)還是偶數(shù),并且告訴給用戶
在這個(gè)練習(xí)中,顯然要對輸入的內(nèi)容進(jìn)行判斷,以下幾點(diǎn)需要看官注意:

通過raw_input()得到的輸入內(nèi)容,都是str類型
要判斷一個(gè)字符串是否是由純粹數(shù)字組成,可以使用str.isdigit()(建議看官查看該內(nèi)置函數(shù)官方文檔)
下面的代碼是一個(gè)參考:

復(fù)制代碼 代碼如下:

#! /usr/bin/env python
#coding:utf-8

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

user_input = raw_input()

result = user_input.isdigit()

if not result:
    print "您輸入的不完全是數(shù)字"

elif int(user_input)%2==0:
    print "您輸入的是一個(gè)偶數(shù)"
elif int(user_input)%2!=0:
    print "您輸入的是一個(gè)奇數(shù)"
else:
    print "您沒有輸入什么呢吧"

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

再來一個(gè)如何?

已知一個(gè)由整數(shù)構(gòu)成的list,從中跳出奇數(shù)和偶數(shù),并且各放在一個(gè)list中。

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

復(fù)制代碼 代碼如下:

#!/usr/bin/env python
#coding:utf-8

import random

numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到隨機(jī)的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

用這個(gè)例子演示一下if在list解析中的應(yīng)用。看能不能繼續(xù)改進(jìn)一些呢?

可以將循環(huán)的那部分用下面的list解析代替

復(fù)制代碼 代碼如下:

#!/usr/bin/env python
#coding:utf-8

import random

numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到隨機(jī)的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

一個(gè)有趣的賦值

對賦值,看官應(yīng)該比較熟悉了吧,如果要復(fù)習(xí),請看《[賦值,簡單也不簡單]》(./127.md)以及《[正規(guī)地說一句]》(./201.md)的相關(guān)內(nèi)容。

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

復(fù)制代碼 代碼如下:

>>> name = "qiwsir" if "laoqi" else "github"
>>> name
'qiwsir'
>>> name = 'qiwsir' if "" else "python"
>>> name
'python'
>>> name = "qiwsir" if "github" else ""
>>> name
'qiwsir'

總結(jié)一下:A = Y if X else Z

什么意思,結(jié)合前面的例子,可以看出:

如果X為真,那么就執(zhí)行A=Y
如果X為假,就執(zhí)行A=Z
再看看上面的例子,是不是這樣執(zhí)行呢?

if語句似乎簡單,但是在編程時(shí)間中常用到。勤加練習(xí)吧。

相關(guān)文章

  • Python全棧之學(xué)習(xí)JQuery

    Python全棧之學(xué)習(xí)JQuery

    這篇文章主要為大家介紹了Python全棧之JQuery,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • python實(shí)現(xiàn)simhash算法實(shí)例

    python實(shí)現(xiàn)simhash算法實(shí)例

    這篇文章主要介紹了python實(shí)現(xiàn)simhash算法實(shí)例,需要的朋友可以參考下
    2014-04-04
  • 查看已安裝tensorflow版本的方法示例

    查看已安裝tensorflow版本的方法示例

    這篇文章主要介紹了查看已安裝tensorflow版本的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • openCV-Python筆記之解讀圖像的讀取、顯示和保存問題

    openCV-Python筆記之解讀圖像的讀取、顯示和保存問題

    這篇文章主要介紹了openCV-Python筆記之解讀圖像的讀取、顯示和保存問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python中defaultdict方法的使用詳解

    python中defaultdict方法的使用詳解

    這篇文章主要介紹了python中defaultdict方法的使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • Python淺析生成器generator的使用

    Python淺析生成器generator的使用

    生成器generator在循環(huán)過程中,按照某種算法推算數(shù)據(jù),不必創(chuàng)建容器存儲完整的結(jié)果,從而節(jié)省內(nèi)存空間。數(shù)據(jù)量越大,優(yōu)勢越明顯。以上作用也稱之為延遲操作或惰性操作,通俗的講就是在需要的時(shí)候才計(jì)算結(jié)果,而不是一次構(gòu)建出所有結(jié)果
    2022-07-07
  • paramiko使用tail實(shí)時(shí)獲取服務(wù)器的日志輸出詳解

    paramiko使用tail實(shí)時(shí)獲取服務(wù)器的日志輸出詳解

    這篇文章主要給大家介紹了關(guān)于paramiko使用tail實(shí)時(shí)獲取服務(wù)器的日志輸出的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 利用python計(jì)算均值、方差和標(biāo)準(zhǔn)差(Numpy和Pandas)

    利用python計(jì)算均值、方差和標(biāo)準(zhǔn)差(Numpy和Pandas)

    這篇文章主要給大家介紹了關(guān)于利用python計(jì)算均值、方差和標(biāo)準(zhǔn)差的相關(guān)資料,Numpy在Python中是一個(gè)通用的數(shù)組處理包,它提供了一個(gè)高性能的多維數(shù)組對象和用于處理這些數(shù)組的工具,它是使用Python進(jìn)行科學(xué)計(jì)算的基礎(chǔ)包,需要的朋友可以參考下
    2023-11-11
  • 在Python的Bottle框架中使用微信API的示例

    在Python的Bottle框架中使用微信API的示例

    這篇文章主要介紹了在Python的Bottle框架中使用微信API的示例,作者還在文中給出了一個(gè)生成的微信可掃描的二維碼圖,需要的朋友可以參考下
    2015-04-04
  • flask的orm框架SQLAlchemy查詢實(shí)現(xiàn)解析

    flask的orm框架SQLAlchemy查詢實(shí)現(xiàn)解析

    這篇文章主要介紹了flask的orm框架SQLAlchemy查詢實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12

最新評論

潞西市| 德昌县| 泾川县| 泽普县| 祁门县| 嘉鱼县| 扎囊县| 宁武县| 二连浩特市| 贡山| 龙山县| 额敏县| 望江县| 上林县| 云安县| 柳州市| 偃师市| 沈丘县| 绥芬河市| 炎陵县| 永安市| 扎赉特旗| 正镶白旗| 探索| 宾川县| 富源县| 浦城县| 巴林右旗| 平乡县| 雷波县| 辽宁省| 祥云县| 漠河县| 得荣县| 农安县| 隆昌县| 常熟市| 眉山市| 忻州市| 监利县| 正安县|