零基础学Python--------第3章 流程控制语句

第3章 流程控制语句

 3.1程序的结构

计算机在解决某个具体问题时,主要有3种情况,分别是顺序执行所有的语句、选择执行部分语句和循环执行部分语句。程序设计中的3种基本结构为顺序结构、选择结构和循环结构。这3种结构的执行流程如图所示。

本章之前编写的多数实例采用的都是顺序结构。例如,定义一个字符串类型的变量,然后输出该变量,代码如下:

mot_cn = "命运给予我们的不是失望之酒,而是机会之杯。"    # 使用双引号,字符串内容必须在一行
print(mot_cn)
View Code

 

3.2选择语句

Python中选择语句主要有3种形式,分别为 if 语句、if...else 语句和 if...elif...else 多分支语句。

3.2.1最简单的if语句

Python中使用 if 保留字来组成选择语句,简单的语法格式如下:

 

if 表达式:      #   英文状态下的冒号千万不能丢
    语句块 

 

其中,表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式(例如:a>b and a ! = c) ,如果表达式为真,则执行“语句块”;如果表达式的值为假,就跳过“语句块”,继续执行后面的语句,这种形式的 if 语句相当于汉语里的关联词语“如果……就……”。

实例01:判断输入的是不是黄蓉所说的说

print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
number = int(input("请输入您认为符合条件的数:"))                # 输入一个数
if number%3 ==2 and number%5 == 3 and number%7 == 2:            # 判断是否符合条件
    print(number,"符合条件:三三数之剩二,五五数之剩三,七七数之剩二")
View Code

 

当输入23时,符合条件。

使用 if 语句时,如果在符合条件时,需要执行多个语句,例如,程序的真正意图是当 bmi 的值小于18.5时,才输入 bmi 的值和提示信息“您的体重过轻~@_@~”,正取代码如下:

if bmi<18.5:
    print("你的BMI指数为:"+str(bmi))        # 输出BMI指数
    print("你的体重过轻~@_@~")
View Code

 

在上面的代码中,如果第二个输出语句没有缩进,代码如下:

if bmi<18.5:
    print("你的BMI指数为:"+str(bmi))        # 输出BMI指数
print("你的体重过轻~@_@~")

 

 在执行程序时,无论BMI的值是否小于18.5,都会输出“您的体重过轻~@_@~”。这显然与程序的本意是不符的,但程序并不会报告异常,因此这种 bug 很难发现。

3.2.2 if...else 语句

Python中提供了 if...else 语句解决类似问题,其语法格式如下:

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

 

使用 if...else 语句时,表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式,如果满足条件,则执行 if 后面的语句块,否则,执行 else 后面的语句块,这种形式的选择语句相当于汉语里的关联词语“如果……否则……”。

技巧:if...else 语句可以使用条件表达式进行简化,如下面的代码:

a = -9
if a > 0:
    b = a
else:
    b = -a
print(b)
View Code

 

可以简化成:

a = -9
b = a if a>0 else -a
print(b)
View Code

 

上段代码主要实现绝对值的功能,如果 a>0 ,就把 a 的值赋值给变量 b ,否则将 -a 赋值给变量 b 。使用条件表达式的好处是可以使代码简洁,并且有一个返回值。

实例02:验证瑛姑给出的答案是否正确

print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
number = int(input("请输入您认为符合条件的数:"))                # 输入一个数
if number%3 ==2 and number%5 == 3 and number%7 == 2:            # 判断是否符合条件
    print(number,"符合条件:三三数之剩二,五五数之剩三,七七数之剩二")
else:
    print(number,"不符合条件")
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值