第二天 第三章 流程控制语句

  一、程序结构

1. 顺序结构:按照编写顺序依次执行。

2. 选择结构:根据条件语句结果执行不同的语句。

3. 循环结构:在特定条件下反复执行某段程序。被反复执行的语句称为循环体,决定循环是否终止的判断条件成为循环条件。

  二、选择语句

选择语句也称为条件语句,即按照条件选择执行不同的代码。有3种形式:if语句、if...else分支语句、if...elif...else多分支语句。

1. if语句:

if 表达式:
    语句块

表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。如果表达式的值为真,就执行语句块,否则跳过语句块。

注:当表达式是一个非零的数或非空的字符串时,表达式也被认为它的值为真。

2. if...else语句:

if 表达式:
    语句块1
else:
    语句块2

表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。如果表达式的值为真,就执行语句块1,否则执行语句块2。

技巧:

a = -9
if a > 0:
    b = a
else:
    b = -a

print(b)

# 这是一个求绝对值的功能,可以简化为一个条件表达式:

a = -9
b = a if a > 0 else -a
print(b)
# 使用条件表达式的好处时可以使代码简洁,并且有一个返回值。

3. if...elif...else语句:

if 表达式1:
    语句块1
elif 表达式2:
    语句块2
elif 表达式3:
    语句块3
...
else:
    语句块n

表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。如果表达式1的值为真,就执行语句块1,如果为假,则判断表达式2,如果表达式2为真,执行语句块2,否则判断表达式3,依次类推,如果表达式的值都为假,则执行语句块n。

注:使用if语句时,尽量遵循以下原则:

 

# 当使用布尔类型的变量作为判断条件时,假设布尔变量为flag
# 较为规范的格式
if flag: # 表示为真
if not flag: #表示为假

# 不符合规范的格式
if flag == True:
if flag != False:


# 判断条件为表达式时

if 1 == a:   # 推荐这么写

if a == 1:   # 不推荐这么写,容易写成 a = 1

4. 嵌套语句:可以有多种嵌套方式,需要注意的是一定要控制好不同级别代码块的缩进量。

5. 条件表达式:先计算中间表达式的值,如果为True,返回if左边的值,如果为False,返回else右边的值

a = 10
b = 6

r = a if a>b else b
# r的值是10

  三、循环语句

1. while循环

while 条件表达式:
  循环体

如果表达式的值为真,重复执行循环体语句

print('今有物不知其数,三三数剩二,五五数剩三,七七数剩二,问几何?')
none =True
number = 0

while none:
    number += 1
    if number % 3 == 2 and number % 5 == 3 and number % 7 == 2:
        print('答曰:此数为:',number)
        none = False

使用循环语句时,一定不要忘记添加将条件变为False的代码,否则将产生死循环

2. for循环

for 迭代变量 in 对象:
    循环体

a. 适用于枚举或遍历序列,以及迭代对象中的元素。

# for循环最基本的应用就是进行数值循环。
print('计算1+2+3+...+100的结果:')
result = 0
for i in range(101):
    result += i
print(result)

上面代码中使用了range()函数,这是python的内置函数,用于生成一系列连续的整数,多用于for循环。其语法格式如下:

range(start,end,step)

  start:用于指定计数的起始值,省略则默认为0.

  end:用于指定计数的结束值(但不包括该值)不能省略。当该函数只有一个参数时,即表示结束值。

  step:用于指定步长,即两个数之间的间隔,省略则默认为1。

for i in range(1,10,2):
    print(i,end=' ')

注:python2.x中,如果想让print输出内容在一行显示,可以在后面加逗号(print(i ,)),但在python3.x中需要使用参数(print(i , end = '分隔符')),分隔符可以时空格或其它符号,也可以为空,为空则时连续输出。

python3.x中已经删除了xrange()函数。

b. 遍历字符串

string = '不要再说我不能'
for ch in string:
    print(ch)

3. 嵌套循环

a. while循环嵌套while循环

while 条件表达式1:
    while 条件表达式2:
        循环体2
    循环体1

b. for循环嵌套for循环

for 迭代变量1 in 对象1:
    for 迭代变量2 in 对象2:
        循环体2
    循环体1

c. while循环嵌套for循环

while 条件表达式1:
    for 迭代变量2 in 对象2:
        循环体2
    循环体1

d. for循环嵌套while循环

for 迭代变量1 in 对象1:
    while 条件表达式2:
        循环体2
    循环体1

上面是4中基本嵌套循环,其它嵌套循环都是在此基础上扩展。

  四、跳转语句

1. break语句

一般和if语句搭配,如:

while 条件表达式1:
    执行代码
    if 条件表达式2:
        break # 结束整个循环

for 迭代变量1 in 对象1:
    if 条件表达式1:
        break # 结束整个循环

2. continue语句

一般和if语句搭配,如:

while 条件表达式1:
    执行代码
    if 条件表达式2:
        continue # 忽略本次循环,继续下一次循环

for 迭代变量 in 对象:
    if 条件表达式:
        continue # 忽略本次循环,继续下一次循环

3. pass空语句

相当于占位符,不做任何处理

for i in range(10):
    if i%2 == 0:
        print(i)
    else:
        pass

 

posted @ 2020-08-14 15:22  Zack6688  阅读(181)  评论(0)    收藏  举报