循环退出
for循环:
for
else
for 循环如果正常结束,都会执行else语句。
脚本1:
#!/usr/bin/env python
for i in xrange(10):
print i
else:
print "main end"
结果:
[root@localhost 20171227]# python exit.py
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举例
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