Python中的循环退出举例及while
循环退出
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
相关文章