for循環:python
for iterating_var in sqquence: statement(s) else: statement(s)
for 循環若是正常結束,都會執行else語句。shell
腳本1:express
#!/usr/bin/env pythonjson
for i in xrange(10):dom
print iui
else:this
print "main end".net
結果:code
[root@localhost 20171227]# python exit.pyorm
0
1
2
3
4
5
6
7
8
9
main end
[root@localhost 20171227]#
腳本2:
#!/usr/bin/env python
import time
for i in xrange(10):
print i
time.sleep(1)
else:
print "main end"
結果:(中途按ctrl+c中斷)
[root@localhost 20171227]# python exit.py
0
1
2
3
4
^CTraceback (most recent call last):
File "exit.py", line 6, in <module>
time.sleep(1)
KeyboardInterrupt
[root@localhost 20171227]#
腳本3:
沒正常結束:
#!/usr/bin/env python
import time
for i in xrange(10):
print i
if i == 5:
break
else:
print "main end"
結果:
[root@localhost 20171227]# python exit.py
0
1
2
3
4
5
[root@localhost 20171227]#
腳本4:(跳過本次循環continue)
#!/usr/bin/env python
import time
for i in xrange(10):
if i == 3 :
continue
if i == 5:
break
print i
else:
print "main end"
結果:
[root@localhost 20171227]# python exit.py
0
1
2
4
[root@localhost 20171227]#
腳本5:(pass 什麼都不做)
#!/usr/bin/env python
import time
for i in xrange(10):
if i == 3 :
continue
elif i == 5:
break
elif i ==6:
pass #相似shell 中的:
print i
else:
print "main end"
腳本6:
#!/usr/bin/env python
import time
import sys
for i in xrange(10):
if i == 3 :
continue
elif i == 5:
continue
elif i ==6:
pass
elif i ==7:
sys.exit()
print i
else:
print "main end"
print "hahaha"
結果:
[root@localhost 20171227]# python exit.py
0
1
2
4
6
[root@localhost 20171227]#
PIP顯示第三方包
[root@localhost 20171227]# pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
backports.ssl-match-hostname (3.4.0.2)
chardet (2.2.1)
configobj (4.7.2)
decorator (3.4.0)
iniparse (0.4)
IPy (0.75)
ipython (1.2.1)
jsonschema (2.5.1)
kitchen (1.1.1)
langtable (0.0.31)
matplotlib (1.2.0)
做業:猜數字遊戲
系統生成一個20之內的隨機整數。
玩家有6次機會進行猜猜看,每次猜想都有反饋(猜大了,猜小了,猜對了-結束)
6次中,猜對了,玩家贏了。
不然系統贏了**。**
In [1]: import random
In [2]: random.ran
random.randint random.random random.randrange
In [2]: random.randint(1,20)
Out[2]: 14
In [3]: random.randint(1,20)
Out[3]: 6
while與for相對比:
for循環用在有次數的循環上。
while循環用在有條件的控制上。
while循環:
while循環,直到表達式變爲假,才退出。while循環,表達式是一個邏輯表達式,必須返回一個True或False
語法:
while expression:
statement(s)
練習腳本若是下:
腳本1:
#!/usr/bin/python
n = 0
while 1:
if n == 10:
break
print n, 'hellow'
n +=1
結果:
[root@localhost 20171227]# python while.py
0 hellow
1 hellow
2 hellow
3 hellow
4 hellow
5 hellow
6 hellow
7 hellow
8 hellow
9 hellow
[root@localhost 20171227]#
腳本2:
#!/usr/bin/python
while 1:
print 'hellow'
input=raw_input("please input sth,q for exit.")
if input == "q":
break
結果:
[root@localhost 20171227]# python while.py
hellow
please input sth,q for exit.s
hellow
please input sth,q for exit.3
hellow
please input sth,q for exit.q
[root@localhost 20171227]#
條件 爲假時也會退出:
腳本3:
#!/usr/bin/python
sth=''
while sth != 'q':
print 'hellow'
sth=raw_input("please input sth,q for exit.")
腳本4:
回車後退出:
#!/usr/bin/python
sth=''
while sth != 'q':
print 'hellow'
sth=raw_input("please input sth,q for exit.")
if not sth:
break
腳本5:
#!/usr/bin/python
sth=''
while sth != 'q':
print 'hellow'
sth=raw_input("please input sth,q for exit.")
if not sth:
break
else:
print 'world'
結果:
[root@localhost 20171227]# python while.py
hellow
please input sth,q for exit.q
world
[root@localhost 20171227]#
腳本6:
#!/usr/bin/python sth='' while sth != 'q': print 'hellow' sth=raw_input("please input sth,q for exit.") if not sth: break if sth == 'quit': continue print 'continue' else: print 'world'
結果:
[root@localhost 20171227]# python while.py
hellow
please input sth,q for exit.ss
continue
hellow
please input sth,q for exit.df
continue
hellow
please input sth,q for exit.quit
hellow
please input sth,q for exit.q
continue
world