python的输入函数input()
input()函数用来接收用户的输入,输入值类型为str,使用=目标的存储,其本质时一个事函数。
一个简单的问答式输入函数
name=input('请输入姓名:')
age=input('请输如年龄:')
present=input("怎么才能转钱?")
print('我叫'+name+',今年'+age+'岁了,'+'只要我'+present+",就能赚到钱。")
请输入姓名:老孙
请输如年龄:24
怎么才能转钱?努力打工
我叫老孙,今年24岁了,只要我努力打工,就能赚到钱。
上述代码中,不清楚name和age的类型,居然也能拼接在一起,所以换另一个加法计算器试一下
a1=input('请输入第一个数:')
a2=input('请输入第二个数:')
a3=a1+a2
print('a1+a2='+a3)
请输入第一个数:12
请输入第二个数:14
a1+a2=1214
输出结果不是简单的数字相加,而是拼接在一起。经过修正后,将输入转化为int型,a3转化为字符串型
a1=input('请输入第一个数:') #或者a1=int(input('请输入第一个数:')),在输入的时候转换
a2=input('请输入第二个数:') #或者a2=int(input('请输入第二个数:')),在输入的时候转换
a3=int(a1)+int(a2)
print('a1+a2='+str(a3))
请输入第一个数:12
请输入第二个数:14
a1+a2=26
运算符
python数值运算符的分类:+、-、、/ 、//(取整)、%(取余)、**(幂运算)
print(5+3)
print(5-3)
print(5*3)
print(5/3)
print(5//3)
print(5%3)
print(5**3)
print(9/-4)
print(9//-4)
print(27%-6)
8
2
15
1.6666666666666667
1
2
125
-2.25
-3
-3
经过多次测试,当取整(//)时,均向下取整,比如2.5取2,-2.5取-3
当取余(模)时,如a%b,无论±,其模永远在0和b之间。比如27取-6的模,27减去(-6)(-4)=3,3不在0和-6之间,继续运算27减去(-6)(-5)=-3,-3在0和-6之间,所以取模结果为-3,这才是取模的意义。
赋值运算
python的赋值运算符=、+=、-=、*=、/=、//=(整除等于)、%=(取模等于)
a=b=c=d=20 #链式赋值
print(type(a),id(a),id(b),id(c),id(d)) #链式赋值内存地址不变
a*=3
print(type(a))
b/=3
print(type(b)) #参数赋值类型随着运算结果变化
c//=3
print(type(c))
d%=3
print(type(d))
a,b,c='1','2b','3c' #系列解包赋值前后数量要一致
print(a,b,c)
a,b,c=c,a,b #交换数值
print(a,b,c)
<class 'int'> 2822484159376 2822484159376 2822484159376 2822484159376
<class 'int'>
<class 'float'>
<class 'int'>
<class 'int'>
1 2b 3c
3c 1 2b
比较运算符
主要有>、<、==、>=、<=、!=、is、is not
a,b=10,20
print(a>b)
print(a<b)
print(a!=b) #比较两对象的值value
a=[1,2,3,4]
b=[1,2,3,4]
print(id(a),id(b))
print(a==b) #比较两对象的值value
print(a is b) #比较两对象的值id(内存位置id)
print(a is not b)
False
True
True
2532455694528 2532455695488
True
False
True
布尔运算符
布尔运算符有and、or、not、in、not in,用于逻辑运算
a=1
b=2
print(a==1 and b==2) #True
print(a==1 and b!=2) #False
print(a!=1 and b!=2) #False
print(a==1 or b==2) #True
print(a==1 or b!=2) #True
print(a!=1 or b!=2) #False
print(not a==1) #False
str='good morning'
print('d' in str) #True
print('a' in str) #False
print('a' not in str) #True
位运算符
位运算符是将数据转换为二进制再进行计算,常见有位与&、位或|、左移位运算符<<、右移位运算符>>
print(bin(3),'\n',bin(4)) #bin函数:将一个十进制转换位二进制
print(3&4) #与运算
print(3|4) #或运算
print(3<<2) #左移2位,增倍两次
print(4>>2) #右移2位,减半两次
print(27>>2) #右移2位,减半两次,取整
运算符的优先级
括号优先级最高
算术运算(幂 ——乘除余模——加减)——位运算(左右移位——与——或)——比较运算——布尔运算