python 用if判断一个数是不是整数_Python——原来奶茶小票是这么打印的!

本文介绍了如何使用Python的if/elif/else语句实现奶茶店小票的打印功能。通过input()函数获取用户输入,根据条件判断用户是否为会员、选择的奶茶种类及数量,实现价格计算和打折功能。内容包括if单条件判断、if...else双条件判断、if...elif...else多条件判断以及if嵌套。最后,展示了如何打印包含奶茶品种、价格和会员折扣的小票。
摘要由CSDN通过智能技术生成

当今青少年乃至中老年都钟爱的饮品——奶茶,已经成为生活中不可缺少的一部分,但是有没有想过每次去奶茶店点完饮品之后的小票是怎么打印的呢?今天接着学习Python中使用的if/elif/else语句

input():接受用户的输入信息

在学习if语句之前,我们需要了解input()函数,之前的学习内容中只是介绍了输出print()函数,仅仅有输出并不能体现交互,还需要输入;在Python中,使用input()函数来接受用户的输入信息

input('请问您的名字是:')age = input('请输入您的年龄:')print(age, type(age))

45a757c6fe13b816c33a9e287a19c65e.png

要注意的是,你的输入在计算机的数据类型永远是字符串,如上面的例子,其中“七点半”和“23”都是字符串型;同时可以创建一个变量来保存输入,这样如果需要用到的话可以直接调用。了解了这一点之后,我们就可以学习今天的条件判断语句了(if/if..else/if...elif...else)

if:条件判断,条件成立时执行的代码

在Python——转换为布尔值、算数/赋值运算符篇文章中已经涉及到if 条件判断语句,其中9>4,条件成立,所以会继续向下执行代码;还记得去网吧时候的限制吗?(未成年禁止入内)

age = int(input('请输入您的年龄:'))if age < 18:  print('未成年禁止入内')

input的输入是字符串类型,所以需要加int()进行转整数型,这样才能和18进行比较

a89a2a59ba861ec686827491dc3265f8.png

这是一个简单的交互,直观了解条件判断语句

if...else...

if:条件成立时执行的代码;else:条件不成立是执行的代码

我们以购买奶茶来举例:首先输入自己的会员信息,然后判断用户是否为会员,如果是,那么输出“会员全场九折,欢迎选购”;如果不是,那么输出“非会员不享有打折优惠,欢迎选购”

vip = input('您是本店会员吗?(Y/N):')if vip == 'Y':  print('会员全场九折,欢迎选购')else:  print('非会员不享有打折优惠,欢迎选购')

80b5800fd6d21ba1ddb73d27e3be4131.png

a2ff8e6611a9c26d5756d2ac77641578.png

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, '元')

d9a1dcf1a31f7fe9c8d5ee999e4913d0.png

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('您编号输入有误,请重新输入!')

a734e959b1352963f8c49ffc0c456293.png

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

2ce366bc9e36ddb54740329cc76a6b6e.png

以上就是if条件语句的基本使用原理,还有一些注意点需要补充

补充

  1. pass:用来占位(并没有实际的意义),保证语句的完整性,使得程序不会出错;比如:写了if条件,但是没有想好条件下的内容,就可以用pass代替,这样程序会继续向下运行

  2. 隐式类型转换: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('您输入的编号有误,请重新输入')

b3d13317608a45948bf6c9ccca2dfab8.png

这样完整的奶茶小票就打印好了,当然今天的学习内容也就完成了,我们下期再见~

参考链接:

  1. https://www.bilibili.com/video/BV1qK411n7gQ?p=46

  2. https://www.bilibili.com/video/BV1qK411n7gQ?p=48

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值