3.1.4 逻辑运算符
假定某面包店,在每周二的下午7:00~8:00和每周六的下午5:00~6:00时,对生日蛋糕商品进行折扣让利活动,那么想参加折扣活动的顾客,就要在时间上满足“周二并且7:00 PM~8:00 PM”或者“周六并且5:00 PM~6:00 PM”,这里就用到了逻辑关系,Python中也提供了这样的逻辑运算符来进行逻辑运算。
逻辑运算符是对真和假两种布尔值进行运算,运算后的结果仍是一个布尔值,Python中的逻辑运算符主要包括and(逻辑与)、or(逻辑或)、not(逻辑非)。表3.4列出了逻辑运算符的用法和说明。
表3.4 逻辑运算符
使用逻辑运算符进行逻辑运算时,其运算结果如表3.5所示。
表3.5 使用逻辑运算符进行逻辑运算的结果
【例3.3】参加面包店的打折活动。(实例位置:资源包\TM\sl\03\03)
在IDLE中创建一个名称为sale.py的文件,然后在该文件中使用代码实现本节开始描述的场景,代码如下:
01 print("面包店正在打折,活动进行中……") # 输出提示信息 02 strWeek = input("请输入中文星期(如星期一):") # 输入星期,如星期一 03 intTime = int(input("请输入时间中的小时(范围:0~23):")) # 输入时间 04 # 判断是否满足活动参与条件(使用了if条件语句) 05 if (strWeek == "星期二" and (intTime >= 19 and intTime <= 20)) or (strWeek == "星期六" and (intTime >= 17 and intTime <= 18)): 06 print("恭喜您,获得了折扣活动参与资格,尽情选购吧!") # 输出提示信息 07 else: 08 print("对不起,您来晚一步,期待下次活动……") # 输出提示信息
说明
(1)在第2行代码中,input()方法用于接收用户输入的字符序列。
(2)在第3行代码中,由于input()方法返回的结果为字符串类型,因此需要进行类型转换。
(3)第5行和第7行代码使用了if…else条件判断语句,该语句主要用来判断是否满足某种条件,该语句将在第4章进行详细讲解,这里只需要了解即可。
(4)在第5行代码中,在对条件进行判断时,使用了逻辑运算符and、or和关系运算符==、>=、<=。
按F5键运行上述代码,首先输入星期为“星期一”,然后输入时间为8,将显示如图3.5所示的结果;再次运行程序,输入星期为“星期六”,时间为18,将显示如图3.6所示的结果。
图3.5 不符合条件的运行效果
图3.6 符合条件的运行效果
说明
例3.3未对输入错误信息进行校验,为保证程序的正确性,请输入合法的星期和时间。另外,有兴趣的读者可以自己试着添加校验功能。