常见运算符
开发和数学类似,存在很多数据的运算规则(类似于数学中四则运算)。
-
算术运算符
-
关系(比较)运算符
-
逻辑运算符
-
赋值运算符
-
三目运算符
-
is运算符
-
所属运算符
-
位运算符
算术运算符
算术运算符:指的数学中算术,及相关规则
+ 加 - 减 * 乘 / 除 // 整除、地板除法 % 求模、求余数 ** 幂次方 a = 10 >>> b = 3 c = 2 >>> a + b >>> a - b >>> a * b 30 >>> a / b 3.3333333333333335 >>> a // b 3 >>> a % b 1 >>> a % c 0 >>> a ** b 1000 >>> a ** c 100 >>> a 10 >>> a ** 0.5 3.1622776601683795 >>> >>> >>> a 10 >>> a ** 0.333333333333333333333333333333333 2.154434690031884 >>> a ** (1 / 3) 2.154434690031884 >>> 27 ** (1 / 3) 3.0
关系运算符
关系运算符,又被称比较运算符,说明的是多个数之间的关系。
关系运算符的结果是布尔类型,也就是说,是否成立。
> < >= <= == # 等于符号 != a = 10 b = 3 c = 2 >>> a > b True >>> a 10 >>> b 3 >>> a < b False >>> a >= 10 True >>> a <= 10 True >>> a == b False >>> a != b True
逻辑运算符
逻辑运算符说明的问题是,多个运算符之间的关联关系。
-
and
与运算符 代表一种并且关系 -
or
或运算符 代表一种或者关系 -
not
非运算符 代表取反
>>> a > b and a > c True >>> a > b and a < c False >>> a > b or a < c True >>> a > b True >>> not a > b False >>>
赋值运算符
将值赋予某个变量,最常见的=
。
= # 将等号右侧的值 += # a = 20; a = a + 10 <===> a += 10 -= *= /= //= %= **=
如果此时,我们要数据加1或者减一。
a = 10 print(a += 1) print(a -= 1)
自减和自减运算符
注意:python没有自加和自减运算符。龟叔认为没有必要学习这个复杂的运算符。
如java中:
int a = 10; a++; // a = 11 ++a; // a = 12 --a; // a = 11 a--; // a = 10 int b = a++; // a = 11 b = 10 int c = ++a; // a = 12 c = 12 int d = --a; // d = 11 int e = a--; // e = 11
总结:前加加和前减减运行的优先级别非常高,仅次于括号。而后加加和后减减优先级别非常低,低到比赋值符(=)还低。所以一定要注意这个问题。
三目运算符
三目运算符,又被称为三元运算符,本质是if else的简写方式,将多行代码简化为一行代码。
简单的回忆下C、C++、Java语言中的三目运算符:
// 变量 = 表达式 ? 值1 : 值2 int a = 10; int b = 20; int c = a > b ? 100 : 200; int d = a < b ? 100 : 200;
python中,三目运算符是这样写的:
# 变量 = 值1 if 表达式 else 值2 a = 10 b = 3 c = 100 if a > b else 1000 >>> c 100 >>> d = 100 if a < b else 2000 >>> d 2000
所属运算符
-
in 表示是否在里面
-
not in 表示不在里面
所属运算符表示的判断某一个变量是否在某个容器(可迭代对象)中。
>>> a [1, 2, 3, 4, 45, 10, 56] >>> >>> >>> b = 3 >>> >>> b in a True >>> >>> >>> 101 in a False >>> b not in a False >>> 101 not in a True
is运算符
python中存在一个is
运算符,该运算符跟==
非常像,都是用来判断结果的。
-
is 判断的是两个变量的内存地址
-
== 判断的两个变量的值
-
id全局函数,返回变量的内存地址
-
is not
表示is的取反,判断两个变量不是同一个地址
位运算符
计算机底层的运算规则,相当来说,有点难。暂时不讲。
程序控制流程
程序控制流程,又被称为三大流程。
-
顺序结构
-
选择结构
-
循环结构
顺序结构
顺序结构,说的就是程序的整体运行顺序。
python是一门弱数据类型的编程语言,也是一门脚本语言,所有代码是逐行运行的。
从左到右,自上而下执行。
# python中,分号和换行都是语句的结束标志 # 但是建议使用换行,不推荐使用分号 a = 10; b = 20 print(a, b)
选择结构
选择结构,说的是程序在运行中,面临多种情况的一种选择问题。
-
单分支
-
双分支
-
多(三)分支
单分支
只考虑某一种情况,不管其他情况。
语法结构:
""" if 条件: # 条件如果成立,则执行if中的代码 """
age = int(input("请输入您的年龄:")) # 判断是否成年 if age >= 18: print("恭喜您,成年了") print("可以干一些成年人的事") print("可以去网吧了") print("game over")
作业
作业1:两个数交换,要求使用异或法完成
作业2:判断一个数,是否是2的指数
2的指数
0000 0010 0000 0001
0000 0100 0000 0011
0000 1000 0000 0111
0001 0000 0000 1111
提示:所有2的指数:n&(n - 1) == 0
作业3:给定成绩,判断用户成绩的档次
100:提示满分
90~100:优秀
80~100:良好
70~80:还可以,多多努力
60~70:合格
0~60:不合格
0:鸡蛋
作业3:有1、3、5、7、9组成的所有不重复的四位数之和是多少?( )
A、666700 B、666600
C、678860 D、665500
作业4:一个会议有12个员工,假设已有8个员工是女性,求所有员工都是女性的概率( )
A、11/23 B、12/35
C、2/9 D、1/8
作业5:
在控制台上,输入如下信息
a a^2 a^3
1 1 1
2 4 8
3 9 27
作业6:下列哪一项是“4是奇数或-9为正数”的否定( )
A、4是偶数或-9不是负数
B、4是奇数或-9不是负数
C、4是偶数和-9是负数
D、4是奇数和-9不是负数
作业7:如果A是“10110110”,B是“11100000”,C是“10100000”,下面成立的是( )
A、 C=A|B
B、 C=~A
C、 C=~B
D、 C=A&B
作业8:判断一个整数是奇数还是偶数,至少有两种方式实现(位运算已经讲解的话)
作业10:求矩形的面积和周长
作业11:根据天数(从控制台上输入)计算周数和剩余的天数
作业12: 根据已知圆的半径radius(从控制台上输入),求其面积和周长(PI可以使用Math.PI,也可以使用3.14)
答案:
作业一:
作业二:
作业三:
作业五:
作业八:
作业九:
作业十:
作业十一:
选择题:
3.B 4.D 6.C 7.D