当前位置:   article > 正文

Python学习笔记--循环语句 for 和 while_循环语句python练习

循环语句python练习

(一) while循环的基本语法

1.  基本格式

while 条件:

      条件满足时,做的事情1

      条件满足时,做的事情2

     …(省略)…

  • 只要条件满足,会无限循环执行
  • 条件需要布尔类型结果
    1. while 判断条件(condition):
    2. 执行语句(statements)……

    练习:100的累加求和

    1. """
    2. 100的累加求和
    3. """
    4. n=1
    5. sum=0
    6. while n<101:
    7. sum=sum+n
    8. n+=1
    9. print("请输出结果:%d"% sum)

  • (二) while循环的基础案例

  1. import random
  2. num=random.randint(1,100)
  3. # 定义一个变量,记录猜测了多少次
  4. count=0
  5. # 通过一个布尔类型的变量,做循环是否继续的标记
  6. flag=True
  7. while flag:
  8. guess_num=int(input("键盘输入一个数"))
  9. count+=1
  10. if guess_num==num:
  11. print("猜对了")
  12. flag=False
  13. else:
  14. if guess_num>num:
  15. print("你猜测大了")
  16. else: print("你猜测小了")
  17. print(f"你总共猜测了{count}次")

(三) while循环的嵌套应用


 1. 基本格式:

while 条件1:

      条件1满足时,做的事情1

      条件1满足时,做的事情2

     …(省略)…

      while 条件2:

          条件2满足时,做的事情1

          条件2满足时,做的事情2

          …(省略)…
 

  1. """
  2. 演示while循环的嵌套使用
  3. """
  4. # 外层:表白100天的控制
  5. # 内层:每天的表白都送10朵玫瑰花的控制
  6. i=1
  7. while i<=100:
  8. print(f"今天是第{i}天,准备表白。。")
  9. # 内层循环
  10. j=1
  11. while j<=10:
  12. print(f"送给小妹第{j}朵玫瑰花")
  13. j+=1
  14. print("小美,我喜欢你")
  15. i+=1
  16. print(f"坚持到第{i-1}天,表白成功")#这里为i-1,是因为假设最后一次成功,到最后whil循环到101才不满足循环,但是表白实在第i天也就是100的时候

(四) while循环的嵌套应用补充:

补充:

1. print输出不换行

  1. """
  2. end就是结束了换行,然后end=’ ‘ ,表明不换行的情况下,会有一个空格将
  3. 将两个内容链接。而在最后一行的输出内容后为end='',目的在于不会换行,去掉
  4. 自然会换行,可自行调试发觉!
  5. """
  6. print("Hello",end=' ')
  7. print("World",end='')
 

 2. 制表符/t

  1. print("学号\t姓名\t语文\t数学\t英语")
  2. print("2022001\t小王\t99\t\t88\t\t0")
  3. print("2022002\t小周\t92\t\t45\t\t93")
  4. print("2022008\t小黄\t77\t\t82\t\t100")

练习

  1. """
  2. 演示使用while的嵌套循环
  3. 打印输出九九乘法表
  4. """
  5. #定义一个外层循环
  6. i=1 # 行
  7. while i<=9:
  8. # 定义一个内层循环
  9. j=1 # 列
  10. while j<=i:
  11. print(f"{j}*{i}={j*i}\t",end='')
  12. j=j+1
  13. i+=1
  14. print();#print()空内容,就是输出一个换行

(五) for循环的基础语法


1. 基础语法

for循环就是将“待办事项”逐个完成的循环机制

while循环的循环条件是自定义,自行控制循环条件
for循环是一种“轮询”机制,是对一批内容进行逐个处理
!for循环无法定义循环条件,只能从被处理的数据集中,依次取出内容进行处理

1) 基本格式:

for 临时变量 in 待处理的数据集:

            循环满足条件时执行的语句

 练习:

  1. """
  2. 演示for循环的基础语法
  3. """
  4. name="itheima"
  5. for x in name:
  6. # 将name的内容,挨个去除赋予x临时变量
  7. # 就可以在循环以内对x进行处理
  8. print(x)

  1. name="123456"
  2. for x in name:
  3. print(x)
  4. """
  5. 这里可以发现待处理的数据集数字加引号,因为不加引号单独的数字,
  6. 那相当于赋值给变量,是错误的
  7. """

 

练习

  1. name="itheima is a brand of itcast"
  2. count=0
  3. name1="a"
  4. for x in name:
  5. if x==name1:
  6. count+=1
  7. print(f"总共有{count}个字母a")
  8. """
  9. name="itheima is a brand of itcast"
  10. count=0
  11. for x in name:
  12. if x=='a':
  13. count+=1
  14. print(f"总共有{count}个字母")
  15. """

(六)for循环的嵌套应用


1. 基本格式:

for 临时变量 in 待处理的数据集:

            循环满足条件时执行的语句1

            循环满足条件时执行的语句2

            ……

             for 临时变量 in 待处理的数据集:

                          循环满足条件时执行的语句1

                          循环满足条件时执行的语句1       

练习:

  1. """
  2. 九九乘法表
  3. """
  4. i=1
  5. for i in range(1,10):#range(1,10)为1 2 3 4 5 6 7 8 9,不包括10
  6. j=1
  7. for j in range(1,i+1):
  8. print(f"{j}*{i}={j*i}\t",end='')
  9. j=j+1
  10. i=i+1
  11. print()#换行操作

扩展range() 函数

1.如果你需要遍历数字序列,可以使用内置 range() 函数。它会生成数列,例如:

  1. for i in range(5):
  2. ... print(i)
  3. ...
  4. 0
  5. 1
  6. 2
  7. 3
  8. 4

 2.你也可以使用 range() 指定区间的值:

  1. for i in range(5,9) :
  2. print(i)
  3. 5
  4. 6
  5. 7
  6. 8

3.也可以使 range() 以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'):

  1. for i in range(0, 10, 3) :
  2. print(i)
  3. 0
  4. 3
  5. 6
  6. 9

4.负数:

  1. for i in range(-10, -100, -30) :
  2. print(i)
  3. -10
  4. -40
  5. -70
  6. >>>

5.可以结合 range() 和 len() 函数以遍历一个序列的索引,如下所示:

  1. a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
  2. >>> for i in range(len(a)):
  3. ... print(i, a[i])
  4. ...
  5. 0 Google
  6. 1 Baidu
  7. 2 Runoob
  8. 3 Taobao
  9. 4 QQ
  10. >>>

6.可以使用 range() 函数来创建一个列表:

  1. list(range(5))
  2. [0, 1, 2, 3, 4]
  3. >>>

(七) 循环中断:break和continue

1. continue关键字作用:中断本次循环,直接进入下一次循环【for循环和while循环即可使用】

2. break关键字作用:所在循环永久中断【for循环和while循环即可使用】

while 中使用 break:

  1. n = 5
  2. while n > 0:
  3. n -= 1
  4. if n == 2:
  5. break
  6. print(n)
  7. print('循环结束。')

while 中使用 continue:

  1. n = 5
  2. while n > 0:
  3. n -= 1
  4. if n == 2:
  5. continue
  6. print(n)
  7. print('循环结束。')

 实例:

  1. for letter in 'Runoob': # 第一个实例
  2. if letter == 'b':
  3. break
  4. print ('当前字母为 :', letter)
  5. var = 10 # 第二个实例
  6. while var > 0:
  7. print ('当前变量值为 :', var)
  8. var = var -1
  9. if var == 5:
  10. break
  11. print ("Good bye!")

 以下实例循环字符串 Runoob,碰到字母 o 跳过输出:

  1. for letter in 'Runoob': # 第一个实例
  2. if letter == 'o': # 字母为 o 时跳过输出
  3. continue
  4. print ('当前字母 :', letter)
  5. var = 10 # 第二个实例
  6. while var > 0:
  7. var = var -1
  8. if var == 5: # 变量为 5 时跳过输出
  9. continue
  10. print ('当前变量值 :', var)
  11. print ("Good bye!")

循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。

如下实例用于查询质数的循环例子:

  1. for n in range(2, 10):
  2. for x in range(2, n):
  3. if n % x == 0:
  4. print(f"{n}等于{x}*{int(n/x)}")
  5. break
  6. else:
  7. # 循环中没有找到元素
  8. print(f"{n}是质数")

(八)PASS语句

Python pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句,如下实例

  1. for letter in 'Runoob':
  2. if letter == 'o':
  3. pass
  4. print ('执行 pass 块')
  5. print ('当前字母 :', letter)
  6. print ("Good bye!")

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/527418
推荐阅读
相关标签
  

闽ICP备14008679号