PYTHON的基本运算
python的运算符
有以下几类
1.算数运算符 即常见的加(+)减(-)乘(*)除(/)以及不常见的取余(%)地板除法(//)幂次方(**)
2.比较运算符 即大于(>) 小于(<) 等于(=) 大于等于(>=) 小于等于(<=) 不等于(!=)
3.逻辑运算符 与(and)或(or)非(not)
4.所属运算符 属于(in)不属于(not in)
5.is运算符 是(is)不是(is not)注意这里is判断的是引用的地址是否相等 而不是单纯的和等号一样用于判断数值
6.赋值运算符
= += -= *= /= //= **=
举个例子来理解
a=b是把b的值赋给a a+=b是把a+b得出的数值复制给a 等同于a=a+b
其余理解方式类似
7.自加自减运算符
++ --
当加号位于变量之前时此时++优先级很高 先加加在进行其他运算 反之当加号位于变量之后时此时加加优先级很低 先进行其他运算 然后再加加 减减同理
但在python中并无这一运算符 将用+=1和-=1代替
8.三目运算符
变量=数值1 if(运算式)else数值2
比如
a=100 if (100<300)else 300
当if中的语句成立时 将保持原值不变否则将else后的数值赋给a,这一语句执行完a的值应当是100
9.位运算符
与& 或| 异或^ 按位取反~ 右移>> 左移<<
与 两个一 结果才是一
或 只要有一个一 结果就是一
异或 相同取0 相异取1
按位取反 每个位的零变一,一变零
左移右移 左移相当于乘2右移则是除2
作业一 判断一个数,是否是2的指数
在二进制存储时 二的指数都是某一个位置上是一而其余位都是零 根据这一特点
我们可以尝试将该数减去1 得到的这个数与原数的与结果必当为全零
0010 0000 -0000 0001 = 0001 1111
基于此规律我们可以求一个数是否为二的指数
a=int(input("输入一个值以此来判断它是否为二的指数"))
print(f"{a}是二的指数为{not(a&(a-1))}")
其中f"{a}"这一方法是"{}".format(a) 的简写
作业二 给定成绩,判断用户成绩的档次
100:提示满分
90~100:优秀
80~90:良好
70~80:还可以,多多努力
60~70:合格
0~60:不合格
0:鸡蛋
m=int(input("请输入成绩"))
if (m==100):print("满分")
if(100>m>=90):print("优秀")
if(90>m>=80):print("良好")
if(80>m>=70):print("还可以,多多努力")
if(70>m>=60):print("合格")
if(60>m>=0):print("不合格")
if(m==0):print("鸡蛋")
作业3:下列哪一项是“4是奇数或-9为正数”的否定(C )
A、4是偶数或-9不是负数
B、4是奇数或-9不是负数
C、4是偶数和-9是负数
D、4是奇数和-9不是负数
举例 兔子爱吃萝卜和青菜的否定是兔子不爱吃萝卜和青菜
四是奇数或-9为正数的否定是四为偶数并且-9为负数
作业4:如果A是“10110110”,B是“11100000”,C是“10100000”,下面成立的是(D )
A、 C=A|B 101 10110|111 00000=111 10110
B、 C=~A ~10110110=01001001
C、 C=~B ~11100000=00011111
D、 C=A&B 101 10110&111 00000=101 00000
作业5:判断一个整数是奇数还是偶数,至少有两种方式实现(位运算已经讲解的话)
方法一:利用求模运算 模二余0的就是偶数 否则就是奇数
j=int(input("输入一个数来判断奇偶性"))
if(j%2==0):print("是偶数")
else: print("是奇数")
方法二:利用位运算 与1相与如果结果为ture则为奇数否则是偶数
j=int(input("输入一个数来判断奇偶性"))
if(j&1==0):print("是偶数")
else:print("是奇数")
作业6:求矩形的面积和周长
l=float(input("输入长"))
h=float(input("输入高"))
print(f"长方形面积是{l}*{h}={l*h}")
print("长方形的周长是({}+{})*2={}".format(l,h,(l+h)*2))