python的循环控制语句while和for的使用详解

python中的循环的控制语句有while和for,没有java中的do...while语句。

1.while的使用演示

while的语法格式:
        while  判断条件:
             执行语句1.....
             执行语句2.....
             .....
             循环控制条件

注意1:while的判断条件可以是任何表达式,任何非零、或非空(null)的值均为true ,

比如: while a :  #恒成立为true的条件会形成死循环
            print("这个会循环执行")

      s=""
      whiel s : print("这个不会执行,因为null值为否,且代码只有一行时可以并列写")

      a=b=c=3
      while(a>2) and c>1 or c ==1:  #这里条件是个表达式,但是表达式的值为boolean型
         print("abc")

注意2:如果while的判断条件的结果恒为true,则会形成死循环,开发要避免。如while 3>2 :print(“fddf”)

注意3:while和for循环为了防止死循环和必须要时终止循环,使用break 来跳过循环,循环终止,程序退出循环。continue 用于跳过该次循环,继续后面的循环。

i = 1
while i < 10:
    i += 1
    if i % 2 > 0:  # 打印10以内的所有偶数,奇数%2是大于的0的。
        continue   #continue,当奇数如3,满足if条件进入if执行语句,执行continue就会终止本次单次循环。
                   # 然后重新从循环while开始执行,所以后面的print不会执行。
    print
    i  # 输出2、4、6、8、10

i = 1
while 1:  # 循环条件为1必定成立
    print
    i  # 输出1~10
    i += 1
    if i > 10:  # 当i大于10时跳出循环
        break   #直接将整个循环结束了。
        

注意4.while...else的使用(这种java中是么有的) 

#while..else语句,在循环的条件为false执行else代码块
num =input("enter a num:")
while int(num) < 5:
   print (num, " <5")
   num = int(num) + 1
else:
   print (num, " > 5")

2.for循环的使用

1.Python中的for循环很强大,有点像hadoop中的for循环。python中的 for循环主要用来遍历输出:可以遍历任何序列的项目,将其中的子序列按顺序输出。比如遍历输出列表中元素,字符串中的单个字符。

str='Hello,Python'
for p in str:     # 按字符遍历str中所有的字符
   print ('当前字母 :', p)

mylove = ['banana', 'apple', 'mango']
for eat in mylove:  #这里eat,p不需要定义。
    print("eat :",eat)

2.for..else的使用注意:在 python 中,for..else中的for 语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的,如果是因为循环终止的,else同样不会执行)的情况下执行,while … else 也是一样。

for num in range(10,20):  # 程序判断打印10-20之间的数是否质数
   for x in range(2,num): # 根据因子迭代
      if num%x == 0:      # 如果能被大于2的数整除,说明不是质数
         j=num/x         # 将该偶尔进行分解
         print( '%d 等于 %d * %d' %(num,x,j))
         break            # 跳出当前循环,
   else:                  # 循环的 else 部分
      print (num, '是一个质数')   #break终止的循环,else并不会执行。

3.break的continue注意事项

  • break/continue只能用在循环中,除此以外不能单独使用

  • break/continue在嵌套循环中,只对最近的一层循环起作用

猜你喜欢

转载自blog.csdn.net/qq_26442553/article/details/81505968