1.while 循环

  • 循环(while & for)的作用:
  • 让指定代码重复执行
  • 格式:
# 1. 定义一个计数器
i = 0
# 2. 定义一个while循环
while i < 3:
    # 3.书写需要重复执行的代码
    print('hello world!')
    # 4.修改计数器
    i += 1
  • 注意:
  • 即使循环结束,计数器的值依然存在
  • 如果一个循环的判断条件一直成立,成为死循环(所以修改计数器很重要。。。)

2.while 循环应用1

```
# 1. 计算1~100的累积和(包含1和100)

# 0. 定义一个变量保存求和结果
ret = 0
# 1. 定义计数器
i = 1
# 2. 定义while循环
while i <= 100:
    # 3. 书写需要重复执行的代码
    ret += i
    # 4. 修改计数器
    i += 1

print('计算1~100的累积和(包含1和100)结果为%d' % ret)
```

3.while 循环应用2

```
# 0. 定义一个变量 保存求和结果
ret = 0

# 1. 定义计数器
i = 1
# 2. 定义while循环
while i < 101:
   # 3. 书写需要重复执行的代码
    # 3.1 判断是否是偶数
    if i % 2 == 0:
        ret += i
    # 4. 修改计数器
    i += 1

print('计算1~100之间偶数的累积和(包含1和100)结果为:%d' % ret)
```

4.while 循环嵌套

  • 格式:
# 定义外循环计数器
    i = 0 
    while 条件1:
        条件1成立, 执行的代码
        # 定义内循环计数器
        j = 0
        while 条件2:
            条件2成立, 执行的代码
            # 修改内循环计数器
            j += 1
        # 修改外循环计数器
        i += 1
  • 结论:
  • 外部循环 循环1次,内部循环 循环N次
  • 多个计数器都需要修改,避免死循环

5 while 嵌套应用

'''
    完成以下图形的输出
    *****
    *****
    *****
    *****
    *****
'''

i = 1
while i <= 5:
    j = 1
    while j <= 5:
        # 输出“*”,且不换行
        print("*",end="")
        j += 1
    # 内部循环完5次后,换行再执行
    print()
    i += 1
  • print(“hello”) 实际为 print(“hello”,end="\n") 的简写
  • 将 end="\n" 中的\n 去除,将完成不换行的功能,即在该行 输出完 此次内循环的所有值 直至进入外循环。
"""  
* 
* * 
* * * 
* * * *  
* * * * *
"""

i = 1
while i <= 5:
    j = 1
    while j <= i:
        print("*", end=" ")
        j += 1
    print()
    i += 1

6.for循环

  • 循环分类
  • while循环
  • 死循环(必须设置终止条件,例如修改计数器)
  • for循环
  • 循环遍历可迭代对象
  • 可迭代对象:只要可以使用for循环遍历的对象就是可迭代对象
  • 对象:变量(python中,万物皆对象)
  • 格式:
for 临时变量 in 字符串等可迭代对象& range函数
  • range用法
  • range(a)
  • [0, a)
  • range(a, b)
  • [a, b)
  • random.randint用法
  • randint(a, b)
  • [a, b]
  • range 和 randint 均只会在区间取整

7.判断条件问题

flag = True

a = (flag == True)
print(a)
if flag == True:
    print('哈哈')
  • 常理来说,我们的判断条件可能会如上书写,由print(a)的到的数据可知,if本身的判断逻辑是看条件本身是True or False,在决定执行后面的代码,所以可以对其进行简写,如下:
flag = True

if flag:
    print('哈哈')
a = -1
if a:
    print('哈哈')
  • 除了True or False, (其他数字 or 0) 也可以作为if的判断条件,非0即真,为0则假,和True or False等价
  • 但是一般还是会使用True or False, 显得专业

8.break and continue

  • 必须配合循环(while & for)使用
  • 特点:
  • break: 终止循环
  • continue:提前结束本次循环,并马上进入下次循环
  • 只会影响其所在或者最近的层级,不会影响外层
  • 思考:
  • 只要循环中出现了break 或者 continue 就会终止循环或者是提前结束本次循环
  • 假命题,出现不一定执行,若其出现在内循环中,且内循环条件完全不成立时,不会执行。

9. for-else

  • 格式:
for 临时变量 in 字符串等可迭代对象range:
    循环成立执行的代码
else:
    当for循环正常结束后, 将执行的代码
  • 结论:
  • 默认情况下,监听For循环正常结束后,将执行else中的代码
  • 如果循环中执行了break 导致程序循环异常终止,那么else后的代码将不再执行
  • while-else也同样存在,功能相同,不过因为代码冗长,导致很少使用