#布尔值
f1=True
f2=False
print(f1,type(f1))
print(f2,type(f2))
#布尔运算符
a, b=1, 2
print('------------------and 并且--------------------------')
print(a == 1 and b == 2) #True True and True-->True
print(a == 1 and b < 2) #False True and False -->False
print(a != 1 and b == 2) #False False and True-->False
print(a != 1 and b != 2) #False False and False -->False
print('----------------or 或者----------------------')
print(a == 1 or b == 2) #True or True -->True
print(a == 1 or b < 2) #True or False -->True
print(a != 1 or b == 2) #False or True -->True
print(a != 1 or b != 2) #False or False -->False
print('----------------not 对bool类型操作数取反-------------------')
f=True
f2=False
print(not f)
print(not f2)
print('------------in 与not in------------------------------')
s='helloworld'
print('w' in s)
print('k' in s)
print('w' not in s ) #False
print('k' not in s) #True
print(4 & 8) #按位与& ,同为1时结果为1
print(4 | 8) #按位或| ,同为0时结果为0
print(4 << 1) #向左移动1位(移动一个位置) 相当于乘以2
print(4 << 2) #向左移动2位(移动2个位置)
print(4 >> 1) #向右移动1位,相当于除以2
print(4 >> 2) #向右移动2位,相当于除以4
#布尔值可以转成整数计算
print(f1+1) #2 1+1的结果为2 True表示1
print(f2+1) #1
#计算
print(1+1) # 加法运算
print(1-1) # 减法运算
print(2*4) # 乘法运算
print(1/2) # 除法运算
print(11/2) # 除法运算
print(11//2) # 5 整除运算
print(11%2) # 取余运算
print(2**2) #表示的是2的2次方
print(2**3) #表示的是2的3次方 2*2*2
#赋值运算符 ,运算顺序从右到左
i=3+4
print(i)
a=b=c=20 #链式赋值
print(a,id(a))
print(b,id(b))
print(c,id(c))
print('---------支持参数赋值------------')
a=20
a+=30 #相当于a=a+30
print(a)
a-=10 #相当于a=a-10
print(a)
a*=2 #相当于a=a*2
print(a) #int
print(type(a))
a/=3
print(a)
print(type(a)) #float
a//=2
print(a)
print(type(a))
a%=3
print(a)
print('----------解包赋值--------------------')
a,b,c=20,30,40
print(a,b,c)
#a,b=20,30,40 报错,因为左右变量的个数和值的个数不对应
print('-----------交换两个变量的值-------------')
a,b=10,20
print('交换之前:',a,b)
#交换
a,b=b,a
print('交换之后:',a,b)
a,b=10,20
print('a>b吗?',a>b) #False
print('a<b吗?',a<b) #True
print('a<=b吗?',a<=b) #True
print('a>=b吗?',a>=b) #False
print('a==b吗?',a==b) #False
print('a!=b吗?',a!=b) #True
'''
一个 = 称为赋值运算符 , ==称为比较运算符
一个变量由三部分组成,标识,类型,值
== 比较的是值
比较对象的标识使用 is
'''
a=10
b=10
print(a==b) #True 说明,a与b的value 相等
print(a is b ) #True 说明,a与b的id标识 ,相等
#以下代码没学过,后面会给大家讲解
lst1=[11,22,33,44]
lst2=[11,22,33,44]
print(lst1==lst2) #value -->True
print(lst1 is lst2) #id -->False
print(id(lst1))
print(id(lst2))
print(a is not b ) #False a的id与b的id是不相等的
print(lst1 is not lst2) #True
print(lst1 is not lst2, id(lst1), id(lst2)) #True
# 从键盘录入两个整数,计算两个整数的和
a = int(input('请输入一个加数:'))
# a=int(a) #将转换之后的结果存储到a中
b = int(input('请输入另一个加数:'))
# b=int(b)
print(type(a), type(b))
print(a+b)
print('-----------------以下对象的布尔值为False--------------------------------')
print(bool(False)) #False
print(bool(0)) #False
print(bool(0.0)) #False
print(bool(None)) #False
print(bool('')) #False
print(bool("")) #False
print(bool([])) #空列表
print(bool(list())) #空列表
print(bool(())) #空元组
print(bool(tuple())) #空元组
print(bool({})) #空字典
print(bool(dict())) #空字典
print(bool(set())) #空集合
print('---------------------其它对象的布尔值均为True------------------------------------')
print(bool(18))
print(bool(True))
print(bool('helloworld'))
#pass语句,什么都不做,只是一个占位符,用到需要写语句的地方
answer=input('您是会员吗?y/n')
#判断是否是会员
if answer=='y':
pass
else:
pass
num_a=int(input('请输入第一个整数'))
num_b=int(input('请输入第二个整数'))
#比较大小
'''if num_a>=num_b:
print(num_a,'大于等于',num_b)
else:
print(num_a,'小于',num_b)
'''
print('使用条件表达式进入比较')
print( str(num_a)+'大于等于'+str(num_b) if num_a>=num_b else str( num_a)+'小于'+str(num_b) )
实例1
'''会员 >=200 8折
>=100 9折
不打折
非会员 >=200 9.5折
不打折'''
answer=input('您是会员吗?y/n')
money=float(input('请输入您的购物金额:'))
#外层判断是否是会员
if answer=='y' : #会员
if money>=200:
print('打8折,付款金额为:',money*0.8)
elif money>=100:
print('打9折,付款金额为:',money*0.9)
else:
print('不打折,付款金额为:',money)
else: #非会员
if money>=200:
print('打9.5折,付款金额为:',money*0.95)
else:
print('不打折,付款金额为:',money)
实例二
age=int(input('请输入您的年龄:'))
if age:
print(age)
else:
print('年龄为:',age)
实例三
money=1000 #余额
s=int(input('请输入取款金额')) #取款金额
#判断余额是否充足
if money>=s:
money=money-s
print('取款成功,余额为:',money)
else:
print('余额不足')
实例四
score=int(input('请输入一个成绩:'))
#判断
if score>=90 and score<=100:
print('A级')
elif score>=80 and score<=89:
print('B级')
elif score>=70 and score<=79:
print('C级')
elif score>=60 and score<=69:
print('D级')
elif score>=0 and score<=59:
print('E级')
else:
print('对不起,成绩有误,不在成绩的有效范围')
实例五
'''多分支结构,多选一执行
从键盘录入一个整数 成绩
90-100 A
80-89 B
70-79 C
60-69 D
0-59 E
小于0或大于100 为非法数据(不是成绩的有效范围)
'''
score=int(input('请输入一个成绩:'))
#判断
if 90<=score<=100:
print('A级')
elif 80<=score<=89:
print('B级')
elif 70<=score<=79:
print('C级')
elif 60<=score<=69:
print('D级')
elif 0<=score<=59:
print('E级')
else:
print('对不起,成绩有误,不在成绩的有效范围')
实例六
#双分支结构if...else ,二选一执行
'''从键盘录入一个整数 ,编写程序让计算机判断是奇数还是偶数'''
num=int(input('请输入一个整数'))
#条件判断
if num%2==0:
print(num,'是偶数')
else:
print(num,'是奇数')