算 字 赋 比 逻 位 它
9.流程控制
- 算术运算符
+-*/ % **(幂) //取整
- 字符串运算
- 字符串若和数字使用*,就是重复前面的字符串
print('1'+'2')- 关于字符串的拼接
l = 'love'
i = 'i' + l + 'you'
print(i)
f表示将字符串中花括号当作变量
i = f'i {l} you‘
i = 'i {} you'.format(l)
i = 'i {l} you'.format(l=l)
- 赋值运算符
a = 20
a += 10; a = a + 10
a -= 10; a = a - 10
a *= 10; a = a * 10
a /= 10; a = a / 10
a %= 10; a = a % 10
a **= 10; a = a ** 10
a //= 10; a = a // 10
- 比较运算符
a = 10
b = 20
print(a == b)
print(a != b)
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)
- 逻辑运算符 and or not
a=10, b=20
and,必须都为真,一假则假 print(20 and 30); 30
print(30 and 20); 20
print(20 and 0); 0
print(0 and 20); 0
or,有真则真,全假则假
print(20 or 30); 20
print(30 or 20); 30
print(20 or 0); 20
print(0 or 20); 20
not 非, 取反,真变假,假变真
- 二进制与位运算
- bin() 可以转换为二进制
十进制转为二进制,“除二取余,逆序排列”
125 == 1111101
print(bin(125)); 0b1111101- int() 二进制转换为十进制
按权展开求和
二进制的数写成加权系数展开式,而后根据十进制的加法规则求和- 位运算
- & 按位与运算符
参与运算的两个值,若两个相应为都为1,则该位结果为1,否则为0- | 按位或运算符
只要对应的二个二进位有一个为1,结果位就为1- ^ 按位异或运算符
当两对应的二进位相异时,结果为1- << 左移运算符
运算数的各二进位全部左移若干位,高位丢弃,低位补0
print(0b0011 << 2)
print(int(0b1100))- '>>' 右移运算符
- 其它运算符
- 成员运算符
in :如果在指定的序列中找到值,返回True,否则False
s = 'iloveuandherboth'
s = ['love', 'i', 'you']
s = ('i', 'love', 'hate')
s = {1:'i', 2:'love', 3:'u'}; 字典类型,只能检测 键!
print('love' in s)
not in : 若在指定序列中没找到,返回False- 身份运算符
- 2.1 is : 是判断两个标识符是不是引用自一个对象
x is y,类似id(x)==id(y),若引用自一个对象,返回True
PS: id()函数用于获取对象内存地址
a = 10
b = 10
print(a is b); False
is 与 == 区别:
is用于判断两个变量引用对象是否为同一个,==用于判断引用变量的值是否相等- 2.2 is not : 两个标识符是不是引用自不同对象
- 运算符优先级
流程就是计算机执行的顺序,顺序结构,分支结构,循环结构
9.1 分支结构
单向分支,双向分支,多向分支 etc
单向分支:如果判断表达式成立,那么就要执行代码区间,否则不执行。
双向分支:表达式成立,执行真区间,否则执行假区间。
if True:
(Tab) print()
else:
(Tab) print()
多向分支: 需要判断多个表达式结果,执行其中符合条件的一个。
score = 90
if score >= 90 and score <=100:
print('hiii')
elif score >= 80 and score >90:
print('next')
elif score >=70 and score <=80:
print('fe')
else:
print()
巢状分支:在分支条件中,嵌套分支
if 表达式a:
if 表达式b:
if 表达式c:
.......
else:
注意:
if True:
pass ;在代码库中专门用于 占位 练习题-十二生肖
要求输入一个四位数年,判断当前年份属于哪一个生肖
子(鼠)、丑(牛)、寅(虎)、卯(兔)、辰(龙)、巳(蛇)、午(马)、未(羊)、申(猴)、酉(鸡)、戌(狗)、亥(猪)
-。
-。
-。
-。
-。
-。
申(猴)、酉(鸡)、戌(狗)、亥(猪)、子(鼠)、丑(牛)、寅(虎)、卯(兔)、辰(龙)、巳(蛇)、午(马) 分别对应0--11,%年份取余对应 **input()获取用户输入,字符类型!!**`
9.2 循环结构
- while 循环:判断当前的条件是否成立
num = 1
while num <= 10:
print(num)
num+=1 ; 更改变量
目的主要是为了继续进行下一步,并且朝着循环结束的方向发展
- for 循环:通常用来遍历一个容器类型的数据
vars = '124234534'
for i in vars:
print(i)
for i in range(0,10) ;
range()返回可迭代对象
- 其他流程控制语句
1.break :跳出循环,后面不再执行,结束循环
2.continue :跳过本次循环,继续执行下一次
3.pass
n = 0
while n <= 9:
n += 1
if n % 2 == 0:
continue
else:
print(n)
if num == 7: break
- 特殊语句
exit()
quit()
用于结束python解释器程序的执行,之后代码不会执行。和break类似,但不能混为一谈!!
break和continue是用来控制程序的
练习题
循环输出十行十列'♥'
隔行换色,隔列换色
-。
-。
-。
-。
n = 0
while n < 100:
print('※', end=" "); 打印到一行!!
if n % 10 == 9:
print()
n += 1
while n < 100:
print('※', end=" "); 打印到一行!!
n += 1
if n % 10 == 0:
print()
隔列换色
判断当前是奇数还是偶数
n = 0
while n < 100:
if n % 2 == 0:
print('※', end=" ")
else:
print('x', end=" ")
if n % 10 == 9:
print()
n += 1
n = 0
while n < 50:
print('※', end=" ")
n += 1
print("♥", end=" ")
if n % 5 == 0:
print()
隔行换色
n = 0
while n < 100:
#print(n, end=' ')
#**以当前行的行数作为基础,对2取余**
if n //10% 2 == 0:
print('※', end=" ")
else:
print('x', end=" ")
if n % 10 == 9:
print()
n += 1
三角形 菱形
n = 1
while n < 11:
print('※'*n)
n += 1
m = 11
while n < 11 :
print(' '*m, end=' ')
print('※' * n)
n += 1
m -= 1 


