【原创】《笨办法学python》(7)--------循环for 和 while

 

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
	

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值