# -*- coding: utf-8 -*-
# @Time : 2021/9/25 11:24
# @Author : 李新宇
# @FileName: demo1.py
# @Software: PyCharm
#输入函数input
present=input('你想要什么礼物呢?')
print(present,type(present))
# -*- coding: utf-8 -*-
# @Time : 2021/9/25 11:28
# @Author : 李新宇
# @FileName: demo2.py
# @Software: PyCharm
#从键盘录入两个整数,计算两个整数的和
'''
s1=input('请键入第一个数字:')
s2=input(('请键入第二个数字:'))
#print(s1+s2) #仅起到连接作用
s1=int(s1)
s2=int(s2)
print((s1+s2))
'''
s1=int(input('请键入第一个数字:'))
s2=int(input('请键入第二个数字:'))
print(s1+s2)
# -*- coding: utf-8 -*-
# @Time : 2021/9/25 11:38
# @Author : 李新宇
# @FileName: demo3.py
# @Software: PyCharm
#运算符-算数运算符
#标准运算符
print(1+1)
print(1-1)
print(2*4)
print(1/2)
print(11/2) #除法运算
print(11//2) #整除运算
print(11%2) #取余运算
print(2**2) #幂的运算
# -*- coding: utf-8 -*-
# @Time : 2021/9/25 14:57
# @Author : 李新宇
# @FileName: demo4.py
# @Software: PyCharm
print(9//4) #2
print(-9//-4) #2
print(9//-4) #-3
print(-9//4) #-3,一正一负的整除公式,向下取整
print(9%-4) #-3,公式 余数=被除数-除数*商 9-(-4)*(-3)=-3
print(-9%4) #-9-4*(-3)=3
# -*- coding: utf-8 -*-
# @Time : 2021/9/25 15:06
# @Author : 李新宇
# @FileName: demo5.py
# @Software: PyCharm
#赋值运算符
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
print(a) #int
a/=3
print(a) #float
a//=2
print(a) #float
a%=3
print(a) #float
print('---解包赋值--')
a,b,c=10,20,30
print(a,b,c)
print('----交换两个变量的值-----')
a,b=10,20
print('交换之前:',a,b)
a,b=b,a
print('交换之后:',a,b,)
# -*- coding: utf-8 -*-
# @Time : 2021/9/25 15:20
# @Author : 李新宇
# @FileName: demo6.py
# @Software: PyCharm
#比较运算符
a,b=10,20
print('a>b?',a>b) #False
print('a<b',a<b) #True
print('a<=b',a<=b)
print('a>=b',a>=b)
print('a==b',a==b)
print('a!=b',a!=b)
'''一个 = 称为赋值运算符,两个 == 称为比较运算符
一个变量由三部分组成,标识,类型,值
==比较的是值还是标识呢?比较的是值
比较对象的标识使用 is
'''
a=10
b=10
print(a==b) #说明a与b的value相等
print(a is b) #true ,说明a与b的id标识相等
#以下代码没学过,以后会讲解
lst1=[11,22,33,44]
lst2=[11,22,33,44]
print(lst1==lst2) #True
print(lst1 is lst2) #False
print(a is not b) #False,a的id与b的id不相等
# -*- coding: utf-8 -*-
# @Time : 2021/9/25 15:32
# @Author : 李新宇
# @FileName: demo7.py
# @Software: PyCharm
#布尔运算符
a,b=1,2
print('--------and与--------')
print(a==1 and b==2) #True,and 与,True and True -->True
print(a==1 and b<2) #False
print(a!=1 and b==2) #False
print(a!=1 and b!=2) #False
print('----or或------')
print(a==1 or b==2) #True
print(a==1 or b<2) #True
print(a!=1 or b==2) #True
print(a!=1 or b!=2) #False
print('----not,对bool类型操作数进行取反----')
f1=True
f2=False
print(not f1)
print(not f2)
print('--------in与 not in-----------')
s='helloworld'
print('w' in s)
print('k' not in s)
# -*- coding: utf-8 -*-
# @Time : 2021/9/25 16:33
# @Author : 李新宇
# @FileName: demo8.py
# @Software: PyCharm
print(4&8) #转换为2进制,按位与
print(4|8) #转换为2进制,按位或
#左移位,高位溢出,低位0
#向左移动一位,相当于乘2
print(4<<1)
print(4<<2)
#右移位,低位溢出,高位补0
#向右移动一位,相当于除2
print(16>>1)
print(16>>2)
#运算顺序:算数运算>位运算>比较运算>布尔运算>赋值运算,有括号除外
#算数运算顺序:幂运算>乘除运算>加减运算