day03.04.逻辑运算符

# 逻辑运算符
# and 并且(与)  or 或者  not 非

# and:并且
#      两边必须都为真才为真,否则为假(只要有一个为假就为假)
print(True and True)    # True
print(True and False)   # False
print(False and True)   # False
print(False and False)  # False

print(4 > 5 and 6 < 7)  # False


# 短路操作
# 从左往右开始判断每个操作数的值是否为False(隐式判断),如果为假,则直接返回该操作数,否则继续往右判断下一个数,全为真返回最后一个数
print(6 and 8)  # 8


print(bool(6))  # True
print(bool(8))  # True   数字只要不是0,bool()正数负数都为真True

print(0 and 8)           # 0
print(0 and print(666))  # 0  没有打印666证明只执行到0就不执行下面的数据了
print(6 and print(888))  # 888 None
print(print())      # print()的结果是None  print()自身的结果是None值

print(66 and 0 and -3)  # 0
print(print(666) and 0)     # 666 None

# bool值隐式判断  假 False  真 True
#   数值:0是假,其余为真
#   字符串:空字符串 ''和""和 '''''' 为假,其余为真
#   bool :True False
#   NoneType: None 为假
#   列表:空列表[]为假,其余为真
#   元组:空元组()为假,其余为真     空元组不用加逗号,有一个元素才需要加逗号
#   字典:空字典{}为假,其余为真

print(bool(0))  # False
print(bool(-3))  # True

print(bool(''))  # False
print(bool(' '))  # True
print(bool('abcd'))  # True

print(bool([]))  # False
print(bool([3, 4]))  # True

print(bool())  # False
print(bool(3,))  # True

print(bool({}))  # False
print(bool({'age': 13}))  # True

# 练习
print(None and 666 and 0)   # None
print((3,) and [] and -1)   # []
print(3 and False and "")   # False
print(3 and 6 and {6, 6, 6})   # {6}


# 练习:查看下面表达式的结果
# print(999 and None and 666)  # None
# print(print(8) and 30)       # 8 None
# print(' ' and -100 and [] and 8) # []
print(print(9) and print(5))   # 9 None


# or 或者
#       两边都为假才为假,否则为真(只要有一个为真则为真)
print(True or True)     # True
print(True or False)    # True
print(False or True)    # True
print(False or False)   # False

# 短路操作
#   从左往右一个个操作数进行判断,如果为真,则直接返回该值,否则继续判断下一个数
print(6 or 8)   # 6
print(0 or -1)  # -1
print('' or '雷布斯' or '乔布斯')     # ‘雷布斯’
print(0 or '小米su7' or print(666))  # '小米su7'
print(0 or print(666))   # 666 None

# 练习
a = True and 6             # 6
b = False or 1 or True     # 1
print(a, b)                # 6 1
print(a * 3 + b)           # 19

a = 6 and True             # True
b = False or 1 or True     # 1
print(a, b)                # True 1
print(a * 3 + b)           # 4

# not 非
#       得到的是True 或 False
print(not 4 > 5)    # True
print(not 5)        # False
print(not 0)        # True
print(not -1)       # False
print(not ' ')      # False

# 练习:
#   请输入一个年份year:
#   判断year是否为闰年(满足下面条件之一即可):
#       1.能被4整除(使用%),且不能被100整除
#       2.能被400整除
n = 2024
print((n % 4 == 0 and n % 100 != 0) or n % 400 == 0)    # True

# 参考答案:
# year = int(input("请输入一个年份:"))
# z = year%4 == 0 and year%100 != 0 or year%400 == 0
# print(z)

# 运算优先级() 加括号可以提高优先级
# (1+2) * 3
# n%4 == 0 如这个里面 == 优先级比较低,不需要加括号
# and or not 的优先级比 == 等比较运算符的优先级低一些,不需要用括号  不确定优先级的时候可用用括号,稳当些

'''
运算符优先级

**                                      幂 最高优先级
* / % //                                乘 除 取余数 取整数
+ -                                     加法 减法
<= < > >=                               比较运算符
== !=                                   等于运算符
= %= /= //= -= += *=                    赋值运算符
not or and                              逻辑运算符

'''

相关推荐

  1. day03.04.逻辑运算符

    2024-07-18 03:46:01       19 阅读
  2. day02.09.逻辑运算符·二

    2024-07-18 03:46:01       24 阅读
  3. Python逻辑运算符详解

    2024-07-18 03:46:01       54 阅读
  4. C++逻辑运算符

    2024-07-18 03:46:01       29 阅读
  5. C#逻辑运算符

    2024-07-18 03:46:01       21 阅读
  6. react 逻辑 AND 运算符 (&&)

    2024-07-18 03:46:01       32 阅读
  7. C# —— 逻辑运算符

    2024-07-18 03:46:01       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 03:46:01       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 03:46:01       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 03:46:01       62 阅读
  4. Python语言-面向对象

    2024-07-18 03:46:01       72 阅读

热门阅读

  1. electron 的nsis配置

    2024-07-18 03:46:01       19 阅读
  2. 测试技术相关

    2024-07-18 03:46:01       23 阅读
  3. qt 关于设置背景颜色,和背景透明的方法

    2024-07-18 03:46:01       17 阅读
  4. C++内存对齐

    2024-07-18 03:46:01       21 阅读
  5. D. The Omnipotent Monster Killer

    2024-07-18 03:46:01       24 阅读
  6. Jupyter: 交互式计算的革命

    2024-07-18 03:46:01       23 阅读
  7. 装饰模式原理与C++实现

    2024-07-18 03:46:01       26 阅读
  8. 洛谷 P1507 NASA的食物计划 (dp 01背包问题)

    2024-07-18 03:46:01       24 阅读
  9. (77)组合环路--->(01)组合环路介绍

    2024-07-18 03:46:01       23 阅读
  10. 开发扫地机器人系统时无法兼容手机解决方案

    2024-07-18 03:46:01       23 阅读