老师
同学们好,在前面的学习中,我们已经了解了 Python 的基础知识,学习了顺序结构。然而在现实生活中经常要面对较为复杂的问题,这时我们该如何做出判断和选择?今天我们就来学习程序设计语言的另一种结构。选择结构。我们先来看书本上的问题,某购物网站上搞优惠活动,笔记本一次购买 6 本以上含 6 本, 10 本以下打 9 折。一次购买 11 本以上含 11 本打八折。请根据购买的数量和单价计算出总费用。这个问题看起来有点复杂,那我们就先把它变得简单一点。我们把问题简化为笔记本一次购买达到 6 本及以上可以打折, 6 本以下没有折打。
老师
这样我们再来分析一下笔记本的数量应该是一个整数,我们设置一个变量 sum 来表示笔记本的购买数量。根据前面所学的知识,我们用 input 函数来输入要购买的数量,并将它转换为整形,再将这个整数存储到变量 sum 里面。那我们的输出有可能输出有折扣,也有可能输出没折扣,而且两个不能同时输出,这需要根据 SUM 的值来选择到底输出哪一个。要完成这个功能,顺序结构就做不到了,我们需要用选择结构来完成。
老师
选择结构通过 if 语句来实现。我们先来看一下它的一般格式,首先关键字if,然后是一个表达式,表达式的值可以是true,也可以是false。表达式的后面是一个冒号,下一行是一个语句块,它可以包含多个语句。程序的流程是,先判断表达式值为true,执行语句快值为false,绕过语句块继续执行后面的语句。在这个流程图中,我们用 y 来表示值为 true 的代码的执行方向,用 n 来表示值为 false 时的代码执行方向。同学们要特别注意的是,语句快要缩进书写,通常我们是缩进 4 个空格。
老师
了解了 if 语句的格式,我们继续来分析刚才的例题。首先关键字 if sum 大于等于 6 冒号,接下来换行缩进书写 print 有折扣。同样的格式,我们再来判断 if sum 小于 6 冒号, print 没折扣。现在我们来运行程序,看一看是不是完成了预定的功能。先输入一个 20 回车,输出有折扣,然后我们再运行程序,这次输入一个小一点的购买数, 3 回车输出没折扣。程序实现了输入购买数量,判断是否有折扣的功能。下面我们来看一下这段代码的执行过程,一起来看一下流程图。
老师
当读入购买数量后,先判断 sum 大于等于6,是否成立,如果成立查看隐藏内容