欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

跟老齊學(xué)Python之從if開(kāi)始語(yǔ)句的征程

 更新時(shí)間:2014年09月14日 15:42:31   投稿:hebedich  
前面做了很多鋪墊了,真正的編程我們還沒(méi)有講過(guò),各位童鞋也許早就不耐煩了,好吧,今天我們就從if語(yǔ)句來(lái)踏上我們的征程

一般編程的教材,都是要把所有的變量類(lèi)型講完,然后才講語(yǔ)句。這種講法,其實(shí)不符合學(xué)習(xí)的特點(diǎn)。學(xué)習(xí),就是要循序漸進(jìn)的。在這點(diǎn)上,我可以很吹一通了,因?yàn)槲易鲞^(guò)教師,研究教育教學(xué),算是有一點(diǎn)心得的。所以,我在這里就開(kāi)始講授語(yǔ)句。

什么是語(yǔ)句

在前面,我們已經(jīng)寫(xiě)了一些.py的文件,這些文件可以用python來(lái)運(yùn)行。那些文件,就是由語(yǔ)句組成的程序。

為了能夠嚴(yán)謹(jǐn)?shù)仃U述這個(gè)概念,我還是要抄一段維基百科中的詞條:命令式編程

命令式編程(英語(yǔ):Imperative programming),是一種描述電腦所需作出的行為的編程范型。幾乎所有電腦的硬件工作都是指令式的;幾乎所有電腦的硬件都是設(shè)計(jì)來(lái)運(yùn)行機(jī)器碼,使用指令式的風(fēng)格來(lái)寫(xiě)的。較高級(jí)的指令式編程語(yǔ)言使用變量和更復(fù)雜的語(yǔ)句,但仍依從相同的范型。
運(yùn)算語(yǔ)句一般來(lái)說(shuō)都表現(xiàn)了在存儲(chǔ)器內(nèi)的數(shù)據(jù)進(jìn)行運(yùn)算的行為,然后將結(jié)果存入存儲(chǔ)器中以便日后使用。高級(jí)命令式編程語(yǔ)言更能處理復(fù)雜的表達(dá)式,可能會(huì)產(chǎn)生四則運(yùn)算和函數(shù)計(jì)算的結(jié)合。


一般所有高級(jí)語(yǔ)言,都包含如下語(yǔ)句,Python也不例外:

循環(huán)語(yǔ)句:容許一些語(yǔ)句反復(fù)運(yùn)行數(shù)次。循環(huán)可依據(jù)一個(gè)默認(rèn)的數(shù)目來(lái)決定運(yùn)行這些語(yǔ)句的次數(shù);或反復(fù)運(yùn)行它們,直至某些條件改變。
條件語(yǔ)句:容許僅當(dāng)某些條件成立時(shí)才運(yùn)行某個(gè)區(qū)塊。否則,這個(gè)區(qū)塊中的語(yǔ)句會(huì)略去,然后按區(qū)塊后的語(yǔ)句繼續(xù)運(yùn)行。
無(wú)條件分支語(yǔ)句容許運(yùn)行順序轉(zhuǎn)移到程序的其他部分之中。包括跳躍(在很多語(yǔ)言中稱(chēng)為Goto)、副程序和Procedure等。
循環(huán)、條件分支和無(wú)條件分支都是控制流程。

if語(yǔ)句

談到語(yǔ)句,不要被嚇住。看下面的例子先:

if a==4:
  print "it is four"
else:
  print "it is no four"

逐句解釋一番,注意看注釋。在這里給列為看官提醒,在寫(xiě)程序的是由,一定要寫(xiě)必要的注釋?zhuān)瑫r(shí)在閱讀程序的時(shí)候,也要注意看注釋。

if a==4:        #如果變量a==4是真的,a==4為T(mén)rue,就
  print "it is four" #打印“it is four”。
else:          #否則,即a==4是假的,a==4為False,就
  print "it is not four" #打印“it is not four”。

以上幾句話,就完成了一個(gè)條件判斷,在不同條件下做不同的事情。因此,if語(yǔ)句,常被翻譯成“條件語(yǔ)句”。

條件語(yǔ)句的基本樣式結(jié)構(gòu):

if 條件1:
  執(zhí)行的內(nèi)容1
elif 條件2:
  執(zhí)行的內(nèi)容2
elif 條件3:
  執(zhí)行的內(nèi)容3
else:
  執(zhí)行的內(nèi)容4

執(zhí)行的內(nèi)容1、內(nèi)容2,等,稱(chēng)之為語(yǔ)句塊。elif用于多個(gè)條件時(shí)使用,可以沒(méi)有。另外,也可以只有if,而沒(méi)有else。

提醒:每個(gè)執(zhí)行的內(nèi)容,均以縮進(jìn)四個(gè)空格方式。

例1:輸入一個(gè)數(shù)字,并輸出輸入的結(jié)果,如果這個(gè)數(shù)字大于10,那么同時(shí)輸出大于10,如果小于是,同時(shí)輸出提示小于10,如果等于10,就輸出表?yè)P(yáng)的一句話。

從這里開(kāi)始,我們的代碼就要越來(lái)越接近于一個(gè)復(fù)雜的判斷過(guò)程了。為了讓我們的思維能夠更明確上述問(wèn)題的解決流程,在程序開(kāi)發(fā)過(guò)程中,常常要畫(huà)流程圖。什么是流程圖,我從另外一個(gè)角度講,就是要讓思維過(guò)程可視化,簡(jiǎn)稱(chēng)“思維可視化”。順便自吹自擂一下,我從2004年就開(kāi)始在我朝推廣思維導(dǎo)圖,這就是一種思維可視化工具。自吹到此結(jié)束??催@個(gè)問(wèn)題的流程圖:

理解了流程圖中的含義,就開(kāi)始寫(xiě)代碼,代碼實(shí)例如下:

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

print "請(qǐng)輸入任意一個(gè)整數(shù)數(shù)字:"

number = int(raw_input())  #通過(guò)raw_input()輸入的數(shù)字是字符串
              #用int()將該字符串轉(zhuǎn)化為整數(shù)

if number == 10:
  print "您輸入的數(shù)字是:%d"%number
  print "You are SMART."
elif number > 10:
  print "您輸入的數(shù)字是:%d"%number
  print "This number is more than 10."
elif number < 10:
  print "您輸入的數(shù)字是:%d"%number
  print "This number is less than 10."
else:
  print "Are you a human?"  

特別提醒看官注意,前面我們已經(jīng)用過(guò)raw_input()函數(shù)了,這個(gè)是獲得用戶在界面上輸入的信息,而通過(guò)它得到的是字符串類(lèi)型的數(shù)據(jù)??梢栽贗DLE中這樣檢驗(yàn)一下:

>>> a=raw_input()
10
>>> a  
'10'
>>> type(a)
<type 'str'>
>>> a=int(a)
>>> a
10
>>> type(a)
<type 'int'>

剛剛得到的那個(gè)a就是str類(lèi)型,如果用int()轉(zhuǎn)換一下,就變成int類(lèi)型了。

看來(lái)int()可以將字str類(lèi)型的數(shù)字轉(zhuǎn)換為int類(lèi)型,類(lèi)似,是不是有這樣的結(jié)論呢:str()可以將int類(lèi)型的數(shù)字轉(zhuǎn)化為str類(lèi)型.建議看官實(shí)驗(yàn)一下。

上述程序的后面,就是依據(jù)條件進(jìn)行判斷,不同條件下做不同的事情了。需要提醒的是在條件中:number == 10,為了閱讀方便,在number和==之間有一個(gè)空格最好了,同理,后面也有一個(gè)。這里的10,是int類(lèi)型,number也是int類(lèi)型.

上面的程序不知道是不是搞懂了?如果沒(méi)有,可以通過(guò)QQ跟我聯(lián)系,我的QQ公布一下:26066913,或者登錄我的微博,通過(guò)微博跟我聯(lián)系,當(dāng)然還可以發(fā)郵件啦。我看到您的問(wèn)題,會(huì)答復(fù)的。在github上跟我互動(dòng),是我最歡迎的。

最后,給看官留一個(gè)練習(xí)題目:

課后練習(xí):開(kāi)發(fā)一個(gè)猜數(shù)字游戲的程序。即程序在某個(gè)范圍內(nèi)指定一個(gè)數(shù)字,比如在0到9范圍內(nèi)指定一個(gè)數(shù)字,用戶猜測(cè)程序所指定的數(shù)字大小。

請(qǐng)看官自己編寫(xiě)。我們會(huì)在后面討論這個(gè)問(wèn)題。

小知識(shí)

不知道各位是否注意到,上面的那段代碼,開(kāi)始有一行:

#! /usr/bin/env python
這是什么意思呢?

這句話以#開(kāi)頭,表示本來(lái)不在程序中運(yùn)行。這句話的用途是告訴機(jī)器尋找到該設(shè)備上的python解釋器,操作系統(tǒng)使用它找到的解釋器來(lái)運(yùn)行文件中的程序代碼。有的程序里寫(xiě)的是/usr/bin python,表示python解釋器在/usr/bin里面。但是,如果寫(xiě)成/usr/bin/env,則表示要通過(guò)系統(tǒng)搜索路徑尋找python解釋器。不同系統(tǒng),可能解釋器的位置不同,所以這種方式能夠讓代碼更將擁有可移植性。對(duì)了,以上是對(duì)Unix系列操作系統(tǒng)而言。對(duì)與windows系統(tǒng),這句話就當(dāng)不存在。

相關(guān)文章

  • 詳解Python中Pytest和Unittest的區(qū)別

    詳解Python中Pytest和Unittest的區(qū)別

    Pytest?和?Unittest是Python中屬于最常用的兩個(gè)測(cè)試框架。那么他們有些什么區(qū)別呢??Playwright?為什么只給了Pytest的深度支持,而不是Unittest呢?本文就來(lái)和大家詳細(xì)聊聊
    2023-03-03
  • pytorch查看模型weight與grad方式

    pytorch查看模型weight與grad方式

    這篇文章主要介紹了pytorch查看模型weight與grad方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python如何使用BeautifulSoup爬取網(wǎng)頁(yè)信息

    Python如何使用BeautifulSoup爬取網(wǎng)頁(yè)信息

    這篇文章主要介紹了Python如何使用BeautifulSoup爬取網(wǎng)頁(yè)信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python報(bào)錯(cuò)too?many?values?to?unpack問(wèn)題及解決

    Python報(bào)錯(cuò)too?many?values?to?unpack問(wèn)題及解決

    這篇文章主要介紹了Python報(bào)錯(cuò)too?many?values?to?unpack問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python利用PyPDF2庫(kù)處理PDF文件的基本操作

    Python利用PyPDF2庫(kù)處理PDF文件的基本操作

    PyPDF2是一個(gè)Python庫(kù),用于處理PDF文件,包括合并、分割、旋轉(zhuǎn)和提取文本等操作,它是一個(gè)功能強(qiáng)大且靈活的工具,可用于自動(dòng)化處理PDF文件,適用于各種應(yīng)用,從文檔管理到數(shù)據(jù)分析,本文將深入介紹PyPDF2庫(kù),掌握如何利用它來(lái)處理PDF文件,需要的朋友可以參考下
    2023-11-11
  • Python獲取接口數(shù)據(jù)的實(shí)現(xiàn)示例

    Python獲取接口數(shù)據(jù)的實(shí)現(xiàn)示例

    本文主要介紹了Python獲取接口數(shù)據(jù)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python使用scapy模塊實(shí)現(xiàn)ARP掃描的過(guò)程

    python使用scapy模塊實(shí)現(xiàn)ARP掃描的過(guò)程

    這篇文章主要介紹了python使用scapy模塊實(shí)現(xiàn)ARP掃描的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • python實(shí)現(xiàn)高效的遺傳算法

    python實(shí)現(xiàn)高效的遺傳算法

    這篇文章主要介紹了python實(shí)現(xiàn)高效的遺傳算法。想了解算法的同學(xué),可以參考下
    2021-04-04
  • python內(nèi)置模塊之上下文管理contextlib

    python內(nèi)置模塊之上下文管理contextlib

    這篇文章介紹了python內(nèi)置模塊之上下文管理contextlib,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 解決Python中導(dǎo)入自己寫(xiě)的類(lèi),被劃紅線,但不影響執(zhí)行的問(wèn)題

    解決Python中導(dǎo)入自己寫(xiě)的類(lèi),被劃紅線,但不影響執(zhí)行的問(wèn)題

    這篇文章主要介紹了解決Python中導(dǎo)入自己寫(xiě)的類(lèi),被劃紅線,但不影響執(zhí)行的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07

最新評(píng)論