本文主要介绍循环及嵌套循环结构体的时间控制等。

Last Modified: 2022 / 9 / 5



循环及嵌套循环结构体的时间等因素的控制

  • 循环
  • while
  • while True
  • break 与 continue
  • 示例
  • while else
  • 参考链接



循环

Python 的循环有 forwhile 两种,while 为条件控制循环,通过条件表达式控制循环结束 12:。



while

python 获取结构体偏移_python


python 获取结构体偏移_python_02


Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while  <条件表达式>:
         【语句块】

while<条件表达式>(条件表达式可以是任何表达式,任何非零、或非空( null )的值均为 True)时运行 【语句块】【语句块】 可以是单个语句或语句块,【语句块】 运行结束后,再次进入 <条件表达式> 进行判断:
如果 <条件表达式> 结果为 True 则再次运行 【语句块】, 以此循环
直到 <条件表达式> 结果为 False 结束循环。

比如,

python 获取结构体偏移_循环结构_03


还有,

python 获取结构体偏移_python_04



while True

采用该语句的核心思想是即使出现运行错误也可以返回到开始部分从而继续循环 3
while True 语句中一定要有结束该循环的 break 语句,否则循环表达式总是为 True 时会陷入死循环。



break 与 continue

break 结束循环,遇到 break 直接退出循环;
continue 跳过当次循环,进入下一次循环。

break 为例,

i = 0
while i <= 5:  										  # 循环控制条件
    if i == 3:
        break  										  # 结束循环
    print(i)
    i += 1  									      # 等同于i=i+1
 
# 0
# 1
# 2
# 输出结果到 3 就结束了,程序运行到 break 就结束整个循环。

continue 为例,

i = 0
while i <= 5:  										  # 循环控制条件
    i += 1
    if i == 3:
        continue                                      # 跳过当次循环
    print(i)

# 1
# 2
# 4
# 5
# 6
# 输出结果缺少了 3,continue 结束了当次的循环,进入下一循环



示例


try except 语句不能单独和 continuebreak 命令搭配使用,比如用 forwhile 之类的循环 4

如果想要什么不执行,可在 except 子句中加入 pass 而不是 continue

比如,

while True:
    a = 12
    try:
        b = int(input("b = "))
    except Exception as e:
        print(f'Exception with input b: {e}.')
        continue

    try:
        z = int(a/b)
    except Exception as e:
        print(f'Exception with z: {e}.')
        continue
    else:
        print(f"z = {z}")
        break

# b = 4.2
# Exception with input b: invalid literal for int() with base 10: '4.2'.
# b = 6
# z = 2
# 
# Process finished with exit code 0



  1. 3
d = {
    'Julie': 12345,
    'Alice': 13579,
    'Sam': 24680
}

retry = 5
while retry:
    usr = input("Your Username: ")
    if usr in d:
        pwd = input("Your Password: ")
        if str(d[usr]) == pwd:
            print('Log in.')
            break
        else:
            retry -= 1
            print(f'Wrong password with left {retry} chances.')
            continue
    else:
        print(f"Your Username Not Found.")
        continue



while else

while ... else ... 先进行 while 循环,循环结束后再执行 else 下的语句。
只有在特定条件下会用 while...else...

Pythonwhile else 语句的格式如下:

while  <条件表达式>:
        【while 的语句块】
else:
        【else的语句块】
        
# 先进行 while 循环,当循环结束后执行【else 的语句块】

举例如下,

sum = i = 0
while (2 * i + 1) <= 100:  							  # 循环控制条件
    sum = sum + 2 * i + 1
    i += 1  										  # 等同于i=i+1
else:
    print('循环结束后执行else')
print(sum)

# 循环结束后执行else
# 2500