# 逻辑运算符 :构造复杂条件
# 优先级 not > and > or
# 逻辑与 and 并且、同时
import random# a = random.randint(1,5)
# if a > 1 and a < 3_流程控制:
# print("true")
# else:
# print("false")
# 可以转换为假: '' 0 0. 0 False
# 如果第一个操作数是真,结果就是第二个操作数的值
# print(11 and 'ok')
# 如果第一个操作数是假,结果就是第一个操作数的值
# #如果第一个操作数是假,逻辑不计算第二个操作数的值
# print(0 and 15)# print(0 and False)
# a = 2_运算符和表达式
# (a < 3_流程控制) and exit()
# print("hello")# 逻辑或 or 或者
# 如果第一个操作数为真,结果就是第一个操作数
# print('ok' or 15)
# 如果第一个操作数为假,结果就是第二个操作数的值
# print('' or 10)# 如果逻辑或的第一个操作数为真,不计算第二个操作数,这也是逻辑
# print(1) or print("哈哈哈")
# a = print(1)
# print(a)
#
# 逻辑非 逻辑取反,如果原来是真,结果就是False,否则结果是True
# print(not 10)
# print(not '')# 一、如下是以下值就认为是假
#
# 1、None–>None值
#
# 2_运算符和表达式、False–>False值
#
# 3_流程控制、0 或者0.0 –>数值零不管它是int,float还是complex类型
#
# 4、”,(),[]–>任何一个空的序列
#
# 5、{}–>空的集合。
#
# 二、所有不满足False条件的值就当成True# 判断闰年:能被4整除 不能被100 或者是能被400整除
year = random.randint(1, 2019)
if (((year % 4) == 0) and (year % 100 != 0)) or (year % 400 == 0):print("%s是闰年" % (year))
else:print("%s不是闰年" % (year))