练习33--while循环

一 相关知识

1 while循环

  • 只要一个布尔表达式是 True,while-loop 就会一直执行它下面的代码块。
  • 它所做的只是像 if 语句一样的测试,但是它不是只运行一次代码块,而是在while 是对的地方回到顶部再重复,直到表达式为 False。
  • 但是 while-loop 有个问题:有时候它们停不下来。但大多数情况下,你肯定是需要你的循环最终能停下来的。为了避免这些问题,你得遵守一些规则:
    • 1. 保守使用 while-loop,通常用 for-loop 更好一些。
    • 2. 检查一下你的 while 语句,确保布尔测试最终会在某个点结果为 False。
    • 3. 当遇到问题的时候,把你的 while-loop 开头和结尾的测试变量打印出来,看看它们在做什么。
2 for-loop 和和while-loop 的区别是什么?
  • for-loop 只能迭代(循环)一些东西的集合,而 while loop 能够迭代(循环)任何类型的东西。不过,while-loop 很难用对,而你通常能够用 for-loop完成很多事情

二 代码

1 源代码ex33.py

 1 i = 0
 2 numbers = []
 3 
 4 while i < 6:
 5 print(f"At the top i is {i}")
 6 numbers.append(i)
 7 
 8 i = i + 1
 9 print("Numbers now: ", numbers)
10 print(f"At the bottom i is {i}")
11 
12 print("The numbers: ")
13 
14 for num in numbers:
15 print(num)

2 修改后的代码

 1 numbers = []
 2 
 3 def list(a,b):
 4     m = a
 5     n = b
 6     i = 0
 7     while i < m:
 8         print(f"At the top i is {i}")
 9         numbers.append(i)
10         
11         i = i + n
12         print("Numbers now: ",numbers)
13         print(f"At the bottom i is {i}")
14     """
15     for i in range(0,m,n):
16         print(f"At the top i is {i}")
17         numbers.append(i)
18         
19         print("Numbers now: ",numbers)
20         print(f"At the bottom i is {i}")
21     """
22 
23 a = int(input("请输入循环控制条件:"))
24 b = int(input("请输入每次循环中i的增量:"))
25 list(a,b)
26 print("The numbers:")
27 for num in numbers:
28     print(num)

3 执行结果

PS E:\3_work\4_python\2_code_python\02_LearnPythonTheHardWay> python ex33.py
请输入循环控制条件:6
请输入每次循环中i的增量:2
At the top i is 0
Numbers now:  [0]
At the bottom i is 2
At the top i is 2
Numbers now:  [0, 2]
At the bottom i is 4
At the top i is 4
Numbers now:  [0, 2, 4]
At the bottom i is 6
The numbers:
0
2
4

 

posted @ 2020-07-16 13:33  洛兰123  阅读(179)  评论(0编辑  收藏  举报