数学运算符,比较运算符,逻辑运算符, 赋值运算符, 位运算符
常见的数学运算符:+, -, *, /, //整除, %取余/取模, **幂运算。
C语言 除根据定义的数据类型不同,所得的结果不一样。5/2=2,5.0/2=2.5
python在不定义数据类型情况下都默认为浮点型。
b = int(input("请输入数据"))
c = int(input("选择取第几位数"))
d = 1
d = b // (10 ** (c - 1)) % 10
print(d)
<, >, >=, <=, ++, != 所有的比较运算符的结果都是布尔值。
python中的比较运算符都支持连写的方式表示取值范围。
28 < a < 60
and(与), or(或), not(非)
与:相当于"并且",全true为真,有一个false就是假。
或:相当于"或者",只要有一个为真(true)都为真(true)。
非:单目运算符,对一个数据进行判断。not一般用于正向写非常麻烦,但是方向判断比较容易的条件判断。
print(not num % 21 == 0)
短路操作:and的短路操作,例如:条件一 and 条件二 ,如果条件1是False,那么对于条件2的判断代码不会执行。
or的短路操作,如果条件一是true,那么条件二对应的代码不会被执行。
如果表达式的值不是布尔,就转化为布尔值在判断。
python所有类型的数据都可以转化为布尔值,所有为零为空的数值都会转化为false。
表达式1 and 表达式2 :表达式1的值为true,则返回的结果为表达式2的值。
表达式1 or 表达式2 :表达式1的值为False,这返回的结果为表达式2的值。
a = int(input("输入一个数"))
print("能否被三和七整除", a % 3 == 0 and a % 7 == 0)
if a % 3 == 0 and a % 7 == 0:
print("能被三和七同时整除")
else:
print("不能被整除")
a = int(input("输入年份"))
print("判断该年份是否为闰年", a % 4 == 0 or a % 100 != 0)
print(bool(0), bool(""), bool("false")) # false false false
print(bool("100")) # true true
+=, *=, -=, /=, %=, **=, //=。
运算符的优先级:数学运算符>比较运算符>逻辑运算符>赋值运算符(最低)。
数学运算符:**>*,/,//>+,-
逻辑运算符:and > or
括号的优先级是最高的
&(按位与),|(按位或),^(按位异或),~(按位取反),>>(右移),<<(左移)。
位运算符的运算效率比一般的运算符都要高出几十倍到几百倍。
print(28&1, 10&1) # 0 0
print(11&1,9&1) # 1 1
数字 << N - 快速乘 2**N
数字 >> N - 快速整除 2**N
数字 << 1 - 快速乘2 数字*2
数字 >> 1 - 快速整除2 数字//2
1).顺序结构:重上往下依次执行每一条语句。
2).分支结构:根据条件选择性的执行代码。
3).循环结构:能够让代码重复执行。
1).if 的单分支结构。
if 条件语句:
代码段
说明:
(1).if -关键字,固定写法。
(2).条件语句 -任何有结果的表达方式,任何类型的数据,除赋值语句以外的运算符,表达式,函数调用表达式
(3).冒号 -固定写法。(python中冒号一般都需要换行后产生缩进来表示代码块)
(4).代码段 -和if保持一个缩进(tab=4个空格)的一条语句或者多条语句。在满足条件的时候才会执行代码。
执行过程:先判断条件语句是否为True(如果不是布尔值就换换成布尔值判断)。如果是Ture就执行代码端,否则代码段不执行。
a = int(input("请输入一个整数"))
if a % 2 == 0:
print("这个数能被2整除")
b = int(input("请输入一个整数"))
if b & 1 == 0:# (写成b & 1, 在结果是奇数的的时候可以Pass)
print("这个数能被2整除")
b = int(input("请输入一个整数"))
if b & 1: # (写成b & 1, 在结果是奇数的的时候可以Pass)
print("这个数不能被2整除")
if 条件语句:
代码块1
else:
代码块2
执行过程:先判断条件语句是否为True,如果是就执行代码块1,否则执行代码块2。
a = int(input("请输入一个整数"))
if a & 1 == 0:
print('偶数')
else:
print("奇数")
b = int(input("请输入您的年龄"))
if b > 18:
print('成年')
else:
print("未成年")
b = int(input("请输入年份"))
if b % 4 == 0:
print('闰年')
else:
print("非闰年")
if 条件语句1:
代码块1
elif 条件语句2:
代码块2
elif 条件语句3:
代码块3
......
else:
代码块N
执行过程:先判断条件语句N是否为True,如果是直接执行代码块N,然后条件语句直接结束,不再执行后面的语句,如果为False,则判断下一条条件语句。
执行过程:先判断条件语句N是否为True,如果是直接执行代码块N,然后条件语句直接结束,不再执行后面的语句,如果为False,则判断下一条条件语句。
student_grade = float(input("请输入绩点"))
if student_grade > 4:
print("一级奖学金")
elif 3.5 <= student_grade:
print("二级奖学金")
elif 3 <= student_grade:
print("三级奖学金")
elif 2.5 <= student_grade:
print("四级奖学金")
else:
print("没有奖学金")