for
for一般指是在一个指定的范围内循环
for xxx in range()
for i in range(0,12,3) #第3个是步长3,且不包含12
for vari in range()
写法: for i in range(5) == for i in range(0,5,1)
for vari in list
for vari in set
for key value in dictA.items()
for key in dictA.keys()
for value in dictA.values()
>>> for x in range(5):
x*2
0
2
4
6
8
>>> for x in listA:
x*3
3
6
9
>>> setA={1,2,3,4}
>>> for y in setA:
y*5
5
10
15
20
>>>
>>> for m,n in dictA.items():
print(m,":",n)
a : 1
b : 2
c : 3
>>>
>>> for m in dictA.keys():
m*2
'aa'
'bb'
'cc'
>>>
while
(1)注意 PY里True的写法 True !!!
(2)可以配合if 使用continue 和 break
#break 整个跳出while
#continue 回到while的开始处
(3)只要while True,可以循环任何条件?
while xx:
block
IF
if只是分支,无法循环,要做循环只能放在for 和while内部
if xx:
block
elif xx:
block
else:
bolck
# -*- coding:utf-8 -*-
#先看下list 再看下元组
#list有很多方法,需要记下
#---------------for--------------------------
#只能对一个集合里的东西进行循环,往往就是一个小区间
list01=["apple","banana","pear"]
dict01={"breakfast":"milk","lunch":"chicken dinner","supper":"rice"}
list02=[]
list03=[]
print "list01 :",list01
print "dict01 :",dict01
for i in range(0,10): #for i in range(0,10) 不能是for i = range(0,10)
list02.append(i)
print "list02 :",list02
for i in range(0,3):
list03.append(list01[i])
print "list03 :",list03
#---------------while--------------------------
#理论上可以对任何对象进行循环,只有表达式的值为true就会继续循环。
print "\n"
print "example 1 of while "
x=0
while x<3 :
print list01[x]
x+=1
print "\n"
print "example 2 of while "
y=0
while y<3 :
print "list01 %d is :" % y , #不换行的逗号只能放在句尾,别放在句子中间,否则报错!
print list01[y]
y+=1
print "\n"
print "example 3 of while "
z=0
while z<3 :
print "list01 %s is :" % z , list01[z] #%内容和这句话放在一个逗号内,整体的内容放一起。
z+=1
#---------------while 和 IF --------------------------
#while看起来和if很像,但执行N此
print "\n"
print "example 4 of while "
m=0
while m<3 :
print "list01 %s is :" % m , list01[m]
m+=1
print "\n"
print "example 5 of while "
n=0
if n<3 :
print "list01 %s is :" % n , list01[n]
n+=1
#---------------while 和 IF 控制用户输入 --------------------------
#while看起来和if很像,但执行N此
print "\n","input_test1"
m1=""
while m1!="jack" :
m1=raw_input("please enter your name:>>>")
print "thank you"
''' 这样也不好写的样子
print "\n","input_test1"
m1=""
while m1=="jack" :
m1=raw_input("please enter your name:>>>")
print "thank you"
'''
"""这种错误写法会无限循环,不应该这样写,循环体,应该循环的是不断询问用户,而不是提示
m1=raw_input("please enter your name:>>>")
while m1!="jack" :
print "please enter the right name"
print "thank you"
"""
#光只有IF是个分支,只会执行1次,循环不起来的
print "\n","input_test2"
n1=raw_input("please enter your name:>>>")
if n1=="jack" :
print "thank you"
print "please enter the right name"
#---------------while 配合 if和 break和continue使用 --------------------------
print "\n","input_test3"
while True :
n2=raw_input("please enter your name:>>>")
if n2=="jack" :
print "thank you"
break
#break 整个跳出while
#continue 回到while的开始处
print "\n","input_test4"
while True :
n3=raw_input("please enter your name:>>>")
if n3!="jack" :
print "please enter the right name"
continue
else:
print "thank you"
break