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

Python 專題二 條件語(yǔ)句和循環(huán)語(yǔ)句的基礎(chǔ)知識(shí)

 更新時(shí)間:2017年03月19日 15:11:10   作者:Eastmount  
本文主要介紹了Python條件語(yǔ)句和循環(huán)語(yǔ)句的基礎(chǔ)知識(shí)。主要內(nèi)容包括: 1.條件語(yǔ)句:包括單分支、雙分支和多分支語(yǔ)句,if-elif-else;2.循環(huán)語(yǔ)句:while的使用及簡(jiǎn)單網(wǎng)絡(luò)刷博器爬蟲;3.循環(huán)語(yǔ)句:for的使用及遍歷列表、元組、文件和字符串。

前面講述了"專題一.函數(shù)的基礎(chǔ)知識(shí)",而這篇文章講述的Python的條件語(yǔ)句和循環(huán)語(yǔ)句的基礎(chǔ)知識(shí).主要內(nèi)容包括:

1.條件語(yǔ)句:包括單分支、雙分支和多分支語(yǔ)句,if-elif-else

2.循環(huán)語(yǔ)句:while的使用及簡(jiǎn)單網(wǎng)絡(luò)刷博器爬蟲

3.循環(huán)語(yǔ)句:for的使用及遍歷列表、元組、文件和字符串

前言: 語(yǔ)句塊

在講訴條件語(yǔ)句、循環(huán)語(yǔ)句和其他語(yǔ)句之前,先來(lái)補(bǔ)充語(yǔ)句塊知識(shí).(前面講函數(shù)時(shí)已經(jīng)用到過(guò))

語(yǔ)句塊并非一種語(yǔ)句,它是在條件為真(條件語(yǔ)句)時(shí)執(zhí)行或執(zhí)行多次(循環(huán)語(yǔ)句)的一組語(yǔ)句.在代碼前放置空格或tab字符來(lái)縮進(jìn)語(yǔ)句即可創(chuàng)建語(yǔ)句塊.很多語(yǔ)言特殊單詞或字符(如begin或{)來(lái)表示一個(gè)語(yǔ)句塊的開始,用另外的單詞或字符(如end或})來(lái)表示語(yǔ)句塊的結(jié)束.

而在Python中使用冒號(hào)(:)來(lái)標(biāo)識(shí)語(yǔ)句塊的開始,塊中每一個(gè)語(yǔ)句都是縮進(jìn)的(縮進(jìn)量相同).當(dāng)回退到和已經(jīng)閉合的塊一樣的縮進(jìn)量時(shí),就表示當(dāng)前塊已經(jīng)結(jié)束.

一. 條件語(yǔ)句if

if分支語(yǔ)句表達(dá)式基本類型常見(jiàn)的有一下三種:

1.單分支語(yǔ)句

它的基本格式是:

   if condition:
   statement
   statement

需要注意的是Ptthon中if條件語(yǔ)句條件無(wú)需圓括號(hào)(),條件后面需要添加冒號(hào),它沒(méi)有花括號(hào){}而是使用TAB實(shí)現(xiàn)區(qū)分.其中condition條件判斷通常有布爾表達(dá)式(True|False 0-假|(zhì)1-真 非0即真)、關(guān)系表達(dá)式(>= <= == !=)和邏輯運(yùn)算表達(dá)式(and or not).

2.雙分支語(yǔ)句

它的基本格式是:

   if condition:
   statement
   statement
   else:
   statement
   statement

3.多分支語(yǔ)句

if多分支由if-elif-else組成,其中elif相當(dāng)于else if,同時(shí)它可以使用多個(gè)if的嵌套.具體代碼如下所示:

#雙分支if-else 
count = input("please input:") 
print 'count=',count 
if count>80: 
 print 'lager than 80' 
else: 
 print 'lower than 80' 
print 'End if-else' 
 
#多分支if-elif-else 
number = input("please input:") 
print 'number=',number 
if number>=90: 
 print 'A' 
elif number>=80: 
 print 'B' 
elif number>=70: 
 print 'C' 
elif number>=60: 
 print 'D' 
else: 
 print 'No pass' 
print 'End if-elif-else' 
 
#條件判斷 
sex = raw_input("plz input your sex:") 
if sex=='male' or sex=='m' or sex=='man': 
 print 'Man' 
else: 
 print 'Woman' 

二. 循環(huán)語(yǔ)句while

while循環(huán)語(yǔ)句的基本格式如下:

    while condition:
     statement
     statement
    else:
     statement
     statement

其中判斷條件語(yǔ)句condition可以為布爾表達(dá)式、關(guān)系表達(dá)式和邏輯表達(dá)式,else可以省略(此處列出為與C語(yǔ)言等區(qū)別).舉個(gè)例子:

#循環(huán)while計(jì)數(shù)1+2+..+100 
i = 1 
s = 0 
while i <= 100: 
 s = s+i 
 i = i+1 
else: 
 print 'exit while' 
print 'sum = ',s 
 
''''' 
輸出結(jié)果為:exit while 
 sum = 5050 
''' 

它的輸出結(jié)果為5050,當(dāng)時(shí)當(dāng)i加到101時(shí),由于i>100將執(zhí)行else語(yǔ)句.

需要注意的是Python中使用井號(hào)(#)表示行注釋,使用三引號(hào)('''...''')表示多行注釋.區(qū)別于C/C++的//行注釋和/**/多行注釋.

下面講述一段代碼刷博器爬蟲,先給出代碼再講解:

import webbrowser as web 
import time 
import os 
i=0 
while i<5: 
 web.open_new_tab('http://andy111.blog.sohu.com/46684846.html') 
 i=i+1 
 time.sleep(0.8) 
else: 
 os.system('taskkill /F /IM iexplore.exe') 
print 'close IE' 

在搜狐博客或新浪博客中只要在新窗口打開就會(huì)增加瀏覽訪問(wèn)次數(shù),所以上面的代碼主要是通過(guò)調(diào)用webbrowser瀏覽器的open_new_tab打開新的窗口,而CSDN不行(估計(jì)綁定用戶或ip有關(guān)).

上面代碼中windoes命令taskkill的作用是殺掉應(yīng)用程序IE瀏覽器,在DOS中輸入"taskkill /F /IM iexplore.exe"可以強(qiáng)行關(guān)閉應(yīng)用程序(chrome.exe或qq.exe),其中/F表示強(qiáng)行終止程序,/IM表示圖像.在該程序中主要的作用是清除內(nèi)存,防止內(nèi)存消耗太大出現(xiàn)死機(jī)現(xiàn)象;但是需要調(diào)用import os的system()函數(shù)打開,而Linux下用kill命令(kill -pid或killall)終止進(jìn)程.

代碼中time.sleep(seconds)表示"Delay execution for a given number of seconds.",從打開到加載有一定時(shí)間.

當(dāng)你需要大量增加瀏覽量時(shí)可以使用兩層循環(huán)嵌套,每次打開5個(gè)網(wǎng)頁(yè)在關(guān)閉在執(zhí)行100次,這樣你的內(nèi)存也不會(huì)因?yàn)橄奶蟪霈F(xiàn)死機(jī)現(xiàn)象,也可以使用import random count=random.randint(20,40)產(chǎn)生20到40隨機(jī)數(shù)來(lái)執(zhí)行外層循環(huán).代碼比較簡(jiǎn)單,主要是想通過(guò)它介紹些Python的基礎(chǔ)知識(shí).但是初次打開IE瀏覽器會(huì)出現(xiàn)打開次數(shù)不一致的錯(cuò)誤.why?

三. 循環(huán)語(yǔ)句for

該循環(huán)語(yǔ)句的基礎(chǔ)格式為:

    for target in sequences:
    statements

target表示變量名,sequences表示序列,常見(jiàn)類型有l(wèi)ist(列表)、tuple(元組)、strings(字符串)和files(文件).

Python的for沒(méi)有體現(xiàn)出循環(huán)的次數(shù),不像C語(yǔ)言的for(i=0;i<10;i++)中i循環(huán)計(jì)數(shù),Python的for指每次從序列sequences里面的數(shù)據(jù)項(xiàng)取值放到target里,取完即結(jié)束,取多少次循環(huán)多少次.其中in為成員資格運(yùn)算符,檢查一個(gè)值是否在序列中.同樣可以使用break和continue跳出循環(huán).

1.字符串循環(huán)

s1 = 'Eastmount of CSDN' 
for c in s1: 
 print c, 

注意:如果在print結(jié)尾加上逗號(hào),那么接下來(lái)語(yǔ)句會(huì)與前一條語(yǔ)句在同一行打印.故上面輸出顯示一行.

2.列表循環(huán)

list1 = [1,3,4,5,'x',12.5] 
i = 0 
for val in list1: 
 print format(i,'2d'),val 
 i = i+1 
else: 
 print 'out for' 

注意:列表List由一堆數(shù)據(jù)用逗號(hào)間隔,方括號(hào)括起,可以是同類型也可以是不同類型.format(i,'2d')相當(dāng)于輸出兩位,不足的補(bǔ)空格.當(dāng)輸出0-9時(shí)顯示"口0",而輸出10-99時(shí)顯示"10"實(shí)現(xiàn)對(duì)其功能.輸出結(jié)果如下:

1 3 
2 4 
3 5 
4 x 
5 12.5 
ut for 

因?yàn)榈?循環(huán)另一種說(shuō)法)某范圍的數(shù)字是很常用的,所以有個(gè)內(nèi)建的范圍函數(shù)range供使用.列表中for n in [1,2,3,4,5,6,7,8]相當(dāng)于listNum=range(1,9).其格式"range(start, stop[, step]) -> list of integers",它的工作方式類似于分片,它包含下限(本例range(1,9)中為1),但不包含上限(本例中9),如果希望下限為0,可以只提供上限如range(4)=[0,1,2,3].

產(chǎn)生1到100的數(shù)字range(1,101),輸出1到100的奇數(shù)range(1,101,2),輸出1到100的偶數(shù)range(2,101,2).

3.元組循環(huán)

tup = (1,2,3,4,5) 
for n in tup: 
 print n 
else: 
 print 'End for' 

元組tuple每個(gè)數(shù)據(jù)項(xiàng)不可修改,只可讀,而序列l(wèi)ist[1,2,3,4]可以修改.

4.文件循環(huán)

help(file.read)返回一個(gè)字符串."read([size]) -> read at most size bytes, returned as a string."

help(file.readlines)返回一個(gè)列表."readlines([size]) -> list of strings, each a line from the file."相當(dāng)于讀n行,由n次readline組成,讀出的字符串構(gòu)成列表.

help(file.readline)從某個(gè)文件讀一行."readline([size]) -> next line from the file, as a string."

#文件循環(huán)遍歷三種對(duì)比 
for n in open('for.py','r').read(): 
 print n, 
print 'End' 
for n in open('for.py','r').readlines(): 
 print n, 
print 'End' 
for n in open('for.py','r').readline(): 
 print n, 
print 'End' 

輸出顯示:

#第一個(gè)read()輸出:每個(gè)字符間有個(gè)空格 
s 1 = ' E a s t m o u n t o f C S D N ' 
f o r c i n s 1 : 
.... 
End 
#第二個(gè)readlines()輸出:讀取的是一行 
s1 = 'Eastmount of CSDN' 
for c in s1: 
.... 
End 
#第三個(gè)readline()輸出:讀取for.py文件第一行并輸出 
s 1 = ' E a s t m o u n t o f C S D N ' 
End 

如果需要文件輸出也可以通過(guò)下面代碼實(shí)現(xiàn),使用w會(huì)覆蓋而a+是追加功能,后面講文件詳細(xì)敘述.

 for r in open('test.txt','r').readlines():
 open('test.txt','a+').write(c)

PS:我主要是通過(guò)《Python基礎(chǔ)教程》和"51CTO學(xué)院 智普教育的python視頻"學(xué)習(xí).所以文中引用了很多視頻中的知識(shí)、書籍知識(shí)和自己的知識(shí),感謝那些作者和老師,希望文章對(duì)大家有所幫助,才開始學(xué)習(xí)python知識(shí),如果文章中有錯(cuò)誤或不足之處,還請(qǐng)海涵,也希望大家提出意見(jiàn)與君共勉.勿噴~

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

最新評(píng)論

文水县| 鄄城县| 页游| 思南县| 安溪县| 濉溪县| 介休市| 翁牛特旗| 寿光市| 尖扎县| 长治县| 进贤县| 甘洛县| 博客| 和顺县| 张家口市| 秭归县| 于都县| 岳普湖县| 弥勒县| 新乡县| 公主岭市| 昌吉市| 织金县| 江山市| 定襄县| 镇康县| 鹤峰县| 偏关县| 新昌县| 建昌县| 凤庆县| 平顺县| 长泰县| 古丈县| 永平县| 无棣县| 韶关市| 阿坝| 修武县| 石河子市|