while 循环&基本运算符
一 流程控制之while 循环
程序中重复的做之前的事情,输入账号,密码,等操作。
1、基本循环:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
while 条件: 循环体 例如: sum = 0 while sum < 5: # 1、条件成立 print(666) # 2、进入循环体,由于条件一直成立,所以进入无线循环 # 条件成立则进入循环体
上述例子由于sum = 0 始终小于5,所以进入死循环,那么要想终止循环我们应该怎么做呢?
2、如何终止循环
改变条件
break语句,用于完全结束一个循环,跳出循环体执行循环后面的语句
调用系统命令:quit() exit() ------>不建议使用
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
sum = 0 while sum < 5: print(666) sum = sum + 1 # 第一次循环,0<5条件成立,进入循环体,打印666,0+1赋值给sum,sum = 1,进行条件判断,1<5条件成立进入第二次循环以此类推...... 666 666 666 666 666 ----------------------------------------------------------------------------------------- sum = 0 while sum < 5: print(666) break print('hello world') # 见到brek语句立即终止循环,执行循环后面的语句 666 hello world
3、continue语句:终止本次循环进入下一循环
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
sum = 0 while sum < 10: sum += 1 if 3 < sum <8: # 如果3<sum<8则终止本次循环,不执行后面的语句,直接进行下一次循环 continue print(sum) 1 2 3 8 9 10
4、while...else...
while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
循环正常结束: sum = 0 while sum < 10: sum += 1 if 3 < sum <8: continue print(sum) else: print('打印完成') 1 2 3 8 9 10 打印完成 ------------------------------------------------------- 当break出现终止循环时 sum = 0 while sum < 10: sum += 1 if 5 < sum : break print(sum) else: print('打印完成') 1 2 3 4 5
二 基本运算符
----运算符-----
计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算、成员运算
1.算数运算
以下假设变量:a=10,b=20
2.比较运算
以下假设变量:a=10,b=20
字符串进行比较的话,使用的是字符对应的ascii码值。
3.赋值运算
以下假设变量:a=10,b=20
4.逻辑运算
------>针对逻辑运算的进一步研究:
1、 在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。
2 、 x or y , x为真,值就是x,x为假,值是y;
x and y, x为真,值是y,x为假,值是x;
例如:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 逻辑运算符的结果到底是什么类型??? 结果取决于两个操作数的类型!!! 针对and操作:第一个操作数如果是可以转成False的话,那么第一个操作数的值,就是整个逻辑表达式的值。 如果第一个操作数可以转成True,第二个操作数的值就是整个表达式的值。 针对or操作:第一个操作数如果是可以转成False的话,第二个操作数的值就是整个表达式的值。 如果第一个操作数可以转成True, 第一个操作数的值,就是整个逻辑表达式的值。
逻辑运算符规则和短路操作
5.成员运算:
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
----->判断子元素是否在原字符串(字典,列表,集合)中:
例如:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#print('喜欢' in 'dkfljadklf喜欢hfjdkas') #print('a' in 'bcvd') #print('y' not in 'ofkjdslaf')
6.Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
7.身份运算符
身份运算符用于比较两个对象的存储单元
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# 判断两个标识符是不是引用同一个对象或不同对象,返回布尔值 a = "烟雨江南" b =a print(b is a) # 类似id(b) = id(a) print(a is b) # 类似id(a) = id(b