当今青少年乃至中老年都钟爱的饮品——奶茶,已经成为生活中不可缺少的一部分,但是有没有想过每次去奶茶店点完饮品之后的小票是怎么打印的呢?今天接着学习Python中使用的if/elif/else语句
input():接受用户的输入信息
在学习if语句之前,我们需要了解input()函数,之前的学习内容中只是介绍了输出print()函数,仅仅有输出并不能体现交互,还需要输入;在Python中,使用input()函数来接受用户的输入信息
input('请问您的名字是:')age = input('请输入您的年龄:')print(age, type(age))

要注意的是,你的输入在计算机的数据类型永远是字符串,如上面的例子,其中“七点半”和“23”都是字符串型;同时可以创建一个变量来保存输入,这样如果需要用到的话可以直接调用。了解了这一点之后,我们就可以学习今天的条件判断语句了(if/if..else/if...elif...else)
if:条件判断,条件成立时执行的代码
在Python——转换为布尔值、算数/赋值运算符篇文章中已经涉及到if 条件判断语句,其中9>4,条件成立,所以会继续向下执行代码;还记得去网吧时候的限制吗?(未成年禁止入内)
age = int(input('请输入您的年龄:'))if age < 18: print('未成年禁止入内')
input的输入是字符串类型,所以需要加int()进行转整数型,这样才能和18进行比较

这是一个简单的交互,直观了解条件判断语句
if...else...
if:条件成立时执行的代码;else:条件不成立是执行的代码
我们以购买奶茶来举例:首先输入自己的会员信息,然后判断用户是否为会员,如果是,那么输出“会员全场九折,欢迎选购”;如果不是,那么输出“非会员不享有打折优惠,欢迎选购”
vip = input('您是本店会员吗?(Y/N):')if vip == 'Y': print('会员全场九折,欢迎选购')else: print('非会员不享有打折优惠,欢迎选购')


if和else是平级,也就是当if条件不满足时,会接着向下运行else中的命令代码
if...elif...(elif...elif...)...else...
很多时候我们遇到的事情并不是非黑即白,无法仅用两种情况(if...else)来完整概述,所以在此基础上又有了:if...elif...else,原理如上,如果if条件不满足,那么会继续向下判断elif的条件,其中可以有多个elif,最后一种情况则是else(类似与事件判断的全集,if、(多个)elif、else都是子集,子集互斥、构成全集)
以奶茶价格举例:在烧仙草、椰果奶茶和珍珠奶茶这三种奶茶中挑选,编号分别为1、2、3;价格分别是5元、7元、9元
num = int(input('请输入你想选择的种类编号(1、烧仙草;2、椰果奶茶;3、珍珠奶茶):'))if num == 1: price = 5 print('烧仙草的价格为:', price, '元') elif num == 2: price = 7 print('椰果奶茶的价格为:', price, '元')else: price = 9 print('珍珠奶茶的价格为:', price, '元')

if嵌套
在Python中代码运行都是从上往下逐行进行的,在上例中,如果输入的不是1~3中的数,虽然我们知道会没有结果产生,但是计算机不知道,还是会运行每一行的代码,那么我们如何让计算机不需要运行这么多行呢?这里就用到if嵌套,也就是if之下还有if语句
num = int(input('请输入你想选择的种类编号(1、烧仙草;2、椰果奶茶;3、珍珠奶茶):'))if 1<= num <= 3: if num == 1: price = 5 print('烧仙草的价格为:', price, '元') elif num == 2: price = 7 print('椰果奶茶的价格为:', price, '元') else: price = 9 print('珍珠奶茶的价格为:', price, '元')else: print('您编号输入有误,请重新输入!')

如果输入的编号不在范围以内,那么不会执行if下面嵌套的if语句,而直接运行else命令;如果输入的是2,那么计算机会首先判断是否满足 1<= num <=3这个条件,满足那么便会进入嵌套的if,在嵌套的if中进一步判断属于哪一个

以上就是if条件语句的基本使用原理,还有一些注意点需要补充
补充:
pass:用来占位(并没有实际的意义),保证语句的完整性,使得程序不会出错;比如:写了if条件,但是没有想好条件下的内容,就可以用pass代替,这样程序会继续向下运行
隐式类型转换:if后面需要跟一个bool型值,不是布尔类型的话,会自动转换为bool值
if 4: print('七点半')
3.三元表达式:对 if...else的简写
num1 = int(input('请输入一个数:'))num2 = int(input('请再输入一个数:'))if num1 > num2: x = num1else: x = num2 print('两个数中较大的是:', x)
简写形式:
num1 = int(input('请输入一个数:'))num2 = int(input('请再输入一个数:'))x = num1 if num1 > num2 else num2print('两个数中较大的是:', x)
学完基本原理之后回归我们的今日主题,奶茶店的小票是怎么打印的呢?首先我们需要介绍店里奶茶的品种和价格,然后要知道是不是会员,最后还要知道你买什么品种的奶茶以及数量;在此,我们设定三种奶茶:1.烧仙草:5元;2.珍珠奶茶:7元;3:椰果奶茶:9元;会员全场打九折,通过代码完成上述的小票打印
print('欢迎光临七点半奶茶店!\n 本店奶茶品种和价格如下: \n\t 1.烧仙草:5元;2.珍珠奶茶:7元;3.椰果奶茶:9元')kind = int(input('请问您选择的奶茶是(请输入编号):'))if 1 <= kind <= 3: if kind == 1: price = 5 elif kind == 2: price = 7 else: price = 9 num = int(input('您准备购买几杯奶茶?:')) money = price * num print('您购买{}号奶茶,共购买{}杯,总计{}元'.format(kind, num, money)) vip = input('您是本店的会员吗?(Y/N):') if vip == 'Y': money *= 0.9 print('您是会员,享受九折优惠,折后价为{}元'.format(money)) elif vip == 'N': print('您还不是本店会员,无法享受九折优惠') else: print('你输入的是啥?自己不清楚吗?')else: print('您输入的编号有误,请重新输入')

这样完整的奶茶小票就打印好了,当然今天的学习内容也就完成了,我们下期再见~
参考链接:
https://www.bilibili.com/video/BV1qK411n7gQ?p=46
https://www.bilibili.com/video/BV1qK411n7gQ?p=48
本文介绍了如何使用Python的if/elif/else语句实现奶茶店小票的打印功能。通过input()函数获取用户输入,根据条件判断用户是否为会员、选择的奶茶种类及数量,实现价格计算和打折功能。内容包括if单条件判断、if...else双条件判断、if...elif...else多条件判断以及if嵌套。最后,展示了如何打印包含奶茶品种、价格和会员折扣的小票。

被折叠的 条评论
为什么被折叠?



