iOS开发人员如何学习Python编程9-流程控制

380 阅读3分钟

这是我参与11月更文挑战的9天,活动详情查看:2021最后一次更文挑战

Python代码在执行过程中,遵循下面的基本原则:

  1. 普通语句,直接执行;
  2. 碰到函数,将函数体载入内存,并不直接执行
  3. 碰到类,执行类内部的普通语句,但是类的方法只载入,不执行
  4. 碰到iffor等控制语句,按相应控制流程执行
  5. 碰到@breakcontinue等,按规定语法执行
  6. 碰到函数、方法调用等,转而执行函数内部代码,执行完毕继续执行原有顺序代码

条件判断

条件判断是通过一条或多条判断语句的执行结果(True或者False)来决定执行的代码块。

Python语法中,使用ifelifelse三个关键字来进行条件判断:

if condition1:              # condition1为True 执行statement_block_1
    statement_block_1
elif condition2:            # condition2为True 执行statement_block_2
    statement_block_2
else:                       # 都不是的话执行 statement_block_3
    statement_block_3

使用原则:

  • 每个条件后面要使用冒号:作为判断行的结尾,表示接下来是满足条件(结果为True)后要执行的语句块。
  • 除了if分支必须有,elifelse分支都可以根据情况省略。
  • 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
  • 顺序判断每一个分支,任何一个分支首先被命中并执行,则其后面的所有分支被忽略,直接跳过。
  • Python中没有switch – case语句。
number = 20
print("猜数字")
while True:
        guess = int(input("请输入你猜的数字:"))
        if guess == number:
                print("恭喜,你猜对了")
                break
        elif guess<number:
                print("猜的数字太小了")
        elif guess>number:
                print("猜的数字太大了")

if/else语句可以嵌套,也就是把if...elif...else结构放在另外一个 if...elif...else结构中:

var = 100
if var < 200:
    print("比200小!")
    if var == 150:
        print('这是150')
    elif var == 100:
        print('这是100')
    elif var == 50:
        print('这是50')
elif var < 50:
    print("比50小!")
else:
    print("无法判断正确的值!")

print("Good bye!")

循环控制

循环控制:就是让程序循环运行某一段代码直到满足退出的条件,才退出循环。
Python用关键字forwhile来进行循环控制,但是没有其它语言的do...while语句。

while循环

1-100之间的总和:

num_sum = 0
n = 1
end_num = 100
while n<=end_num:
    # num_sum = num_sum + n
    num_sum += n
    n += 1

print("1到%d之和为:%d"%(end_num,num_sum))

whileelse从句

while循环还可以增加一个else从句。当while循环正常执行完毕,会执行else语句。注意elsewhile平级的缩进方式:

number = 10
i = 0
# i = 11
while i < number:
    print(i)
    i += 1
else:
    print("执行完毕!")

⚠️注意:如果是被break等机制强制提前终止的循环,不会执行else语句:

number = 10
i = 0
while i < number:
    print(i)
    i += 1
    if i == 7:
        break           
else:
    print("执行完毕!")

for循环

打印输出九九乘法表:

for i in range(1,10):
    for j in range(1,i+1):
        # print(i,j)
        print("{}*{}={}".format(j,i,(j*i)),end=' ')
    print("")

break语句

不论是while循环体还是for循环体执行的过程中想要退出循环体,就可以使用到break语句。

continue语句

continue语句与break语句不同,continue语句用于跳过当前循环体剩余部分的代码,直接开始下一轮循环。它不会退出和终止循环。