=================目录==================
2.2 流程控制-for序列
2.3 流程控制-for字典
2.4 循环退出
2.5 流程控制-while
=======================================
2.2 流程控制-for序列
循环是一个结构,导致程序要重复一定的次数。
条件循环也是如此,当条件未假,循环结束。
(1)for循环:在序列里,使用for循环遍历。
语法:
for iterating_var in sequence:
statement(s)
range(star_val,stop_val,long) 产生从start到stop步长为long的列表
list1=range(0,5,2)
for i in list1 :
print 1
也可写作
print [i for i in range(0,5,2)]
甚至写作
for i in [i**2 for i in range(0,5,2)]:
print i,
后面加个,号会显示在一行,,显示乘方数
xrange(1,1000) 产生的是对象,不遍历它时不占用资源.
print [i for i in xrange(0,5,2)]
2.3 流程控制-for字典
迭代遍历
遍历序列:将序列中各个元素取出来。
-直接从序列取值
-通过序列来取值
注:迭代,指重复执行一个指令。
In [26]: dic1=dic1.fromkeys(‘abcde‘,100)
Out[26]: {‘a‘: 100, ‘b‘: 100, ‘c‘: 100, ‘d‘: 100, ‘e‘: 100}
for k in dic1:
print k, dic1[k]
格式化输出
for k in dic1:
print "%s-->%s" %(k, dic1[k])
调用方法输出
for k in dic1.items():
print k
for k,v in dic1.items():
print k,v
例子 输出乘法表
for i in xrange(1,10):
for j in xrange(1,i+1):
print "%sX%s=%s" %(j,i,(i*j)),
print
print 换行
2.4 循环退出
for
else :
(1)
else for循环如果正常结束,才会执行else语句;
break 退出
continue 跳过并继续
pass 占位
exit() 系统模块sys 退出程序
#插入sys模块
import sys
for i in xrange(10):
print i
if i==5:
break
elif i==7 :
sys.exit()
else:
print "end "
作业:猜数字游戏
系统生成一个20以内 的随机数,玩家有6次机会,每次猜都有反馈(猜大了,猜小了,猜对了结束),6次中,猜对了玩家赢,否者玩家失败。
#插入random模块 产生随机数 random.randint(1,20)
#!usr/bin/python
import random
temp= random.randint(10,20)
for i in xrange(6):
a=int(raw_input( "please enter a num0-20:" ))
if a>temp:
print "TO BIG "
elif a<temp:
print "TO SMALL"
else:
print "YOU WIN"
break
else:
print "YOU FAIL"
print "The num is %d" %temp
2.5 流程控制--while
for循环 用在有次数的循环上。
while 循环用在有条件的控制上。
while循环,直到表达式变为假,才退出while循环,表达式是一个逻辑表达式,必须返回一个true或者false。
语法:
while expression:
statement(s)
else:
statement2(s)
原文地址:https://blog.51cto.com/iammalt/2415573