Python基础教程(10)while\for循环语句

Tanglu Python 2019-12-12 3630 0

一、while循环

while语句通过设置一个初始条件开始进行循环,每次循环都要判断循环条件的布尔值以决定循环是否继续,如果循环条件布尔值为False才会终止循环,所以在使用while循环的时候一定要设置好退出条件,否则就是无限循环。while语句适合循环次数未知的场景。

while [条件式]:
    [条件成立时执行的代码块]

#通过变量来作为判断条件
flag = True    
while flag:
    [代码]
    flag = False


示例:使用while循环完成0到100数字累加

sum=0
num=1
while num <= 100:
    sum = sum + num
    num += 1
print (sum)


Python还支持while...else...的语法,当while的条件不成立时才会执行else后面的语句

age = 30
count = 0
while count < 5:  #如果要永远为真,可以写为while True:
  input_age=int(input("please guess my age:"))
  if input_age == age:
    print ("you are smart")
    break
  elif input_age > age:
    print ("think smaller")
  else:
    print ("think bigger")
  count +=1
else:
  print ("you have tried too many times")


二、for循环

for循环主要用来遍历序列、集合或者字典中的每个元素(需要注意部分数据类型是无序的),然后按照需求进行循环操作,是最常用的循环体。for语句适合循环次数已知的场景。

#语法格式
for [变量名] in [可遍历对象]:   #如果遍历对象是列表或字典等类型,变量名可以同时写多个来接收
  [循环体]
else:
  [当循环正常结束时执行部分]    #可以理解为循环结束后的收尾工作,非必须


示例

fruit = ['apple','banana','orange']
for i in fruit:
    print (i)


for循环推导式简化语句

alist = []
for i in range(1,100):
    if ( i % 2 == 0 ):
        alist.append( i )
print (alist)

#下面代码和上面效果是一样的
blist = [i for i in range(1,100) if(i % 2) == 0]  #简单来说就是开头i的值从后面代码中取
print (blist)

评论