python第十一篇------while 和 for循环

版权声明:未经本人同意不得转载 https://blog.csdn.net/object_oriented_/article/details/86536653

一、while循环

1.  程序执行的流程
                 程序执行流程一定是从上往下执行的,  根据条件判断进行选择分支代码去执行, 循环会让特定的代码重复执行

2. while 循环语句  
                 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

        基本格式 
                                初始化值
                                while 条件判断:            # 
条件判断可以是任何表达式,值均为True。当条件判断为False时循环结束。
                                           语句体               # 语句体可以是单个语句或语句块。
                                           条件控制

案例  "一句话" 说10遍 

i = 1  # 设置初始值
while i <= 10:      
    print ("一句话") 
    i += 1  # i+ = 1相当于i = i+1       

3. 循环中的计算
  案例1 求1+2+...+100 的和

# 需求 1+2...+100累加求和
i = 1
sum = 0
while i <=100:
    sum += i
    i += 1
print(sum)

结果: 5050

   案例2 求1+2+...+100 的偶数和

# 需求 1+2...+100累加求和
i = 1
sum = 0
while i <=100:
    if i % 2 ==0:     #判断偶数
        sum += i      # 注意缩进问题
    i += 1
print(sum)

结果: 2550

4. 无限循环  

如果条件判断语句永远为 true,循环将会无限的执行下去 ,
格式如下

                   while True:
                               print("无限循环")

案例:

value=1
while value > 0:               # 条件判断一直成立
    print("语句体")

结果: 语句体
       语句体
       ...

5. while...else
                     python 中,while...else 在循环条件为 False 时, 会执行 else 语句块

value = 0
while value <= 2:
   print(value)
   value =value + 1
else:
   print("while条件判断返回了false时执行")

结果:  0
      1
      2
      while条件判断返回了false时执行

6. 当while 循环体中只有一条语句,你可以将该语句与while写在同一行中, 和 if 语句一样

flag = 1 
while (flag): print('同一行执行')    # 1为True 0位False

结果: 同一行执行
      同一行执行
      同一行执行
       ...

7. while循环嵌套

基本格式
                       while 条件1:
                               条件1 满足要执行的循环体
                               while 条件2:
                                          条件2 满足要执行的循环体
                                           处理条件2

                               处理条件1

  案例1  用*符号输出一个直角三角形(用循环嵌套完成)

i = 1
while i <= 5:
    j = 1                    # while内循环定义变量
    while j<=i:             
        print("*",end="")    # 内循环控制每行输出
        j += 1
    print("")       #每行输出后换行作用
    i += 1          # 外循环while条件控制

结果:
*
**
***
****
*****

 案例2  循环嵌套完成乘法表

i = 1
while i <= 9:
    j = 1
    while j<=i:
        print("%d * %d = %d" % (j,i, i*j), end="\t")  # 乘法表输出部分 \t制表符对齐
        j += 1
    print("")   #每行输出后换行作用
    i += 1      # 外循环while条件控制

结果:
1 * 1 = 1	
1 * 2 = 2	2 * 2 = 4	
1 * 3 = 3	2 * 3 = 6	3 * 3 = 9	
1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16	
1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25	
...   

          
二、for循环 

 1.  for循环可以遍历任何序列的数据,如一个列表或者一个字符串。

语法格式:
                  for i in value
                         print( i )
 

案例1

for letter in 'java':
    print('当前字母为: ', letter)

结果:当前字母为 : j
                 a
                 v
                 a

案例2

brands = ['华为', '三星', '苹果']
for brand in brands:
    print ('手机品牌为: ', brand)

结果: 手机品牌为: 华为
      手机品牌为: 三星
      手机品牌为: 苹果

案例3 还可以通过角标的方式遍历

brands = ['华为', '三星', '苹果']
for index in range(len(brands)):
    print ('手机品牌为 :', brands[index])

结果: 手机品牌为: 华为
      手机品牌为: 三星
      手机品牌为: 苹果

2. for...else...语句
for
中的语句 和 普通的一样 
else 中的语句会在循环正常执行完(for 不是通过 break 跳出而中断的)的情况下执行,while … else 是一样的。

for num in range(1,10):   # 迭代 1 到 10 之间的数字
   for i in range(2,num):  # 根据因子迭代
      if num%i == 0:       # 确定第一个因子
         j=num/i           # 求第二个因子
         print('%d 等于 %d * %d' % (num,i,j))
         break             # 跳出当前循环
   else:                   # 循环的 else 的内容
      print (num, '是一个质数')
结果:
      1 是一个质数
      2 是一个质数
      3 是一个质数
      4 等于 2 * 2
      5 是一个质数
      6 等于 2 * 3
      7 是一个质数
      8 等于 2 * 4
      9 等于 3 * 3

猜你喜欢

转载自blog.csdn.net/object_oriented_/article/details/86536653