if判断
else
#多分枝
if 条件:
代码体
elif条件: #多分枝(数量无限制)
代码体
code1
code2
elif条件: #多分枝(数量无限制)
代码体
code1
code2
elif条件: #多分枝(数量无限制)
代码体
code1
code2
else:
代码体
code1
code2
三目运算:
逻辑运算符
and or not
与 或 非
1.not的优先级最高,即先将not后的条件取反,所以not与紧跟其后的条件不可分割
2.如果语句中全部是用and连接,或者是全部用or连接,那么按照从左到右的顺序依次计算即可
3.如果语句中既有and也有or,那么最好是先用括号把and的左右两个条件给括起来,确定优先级。
while循环
死循环
当条件一直满足时,程序就会一直循环,陷入死循环。
也就是while True的情况
循环在登录以及判断 的情况下需要使用。
结束循环
while break: #代表结束本层循环
while continue: continue可以结束/跳过 本次循环(本次循环continue之后的代码不再运行),直接进入下一次循环(注意:continue不要放在循环末尾,因为那样做没有任何意义)。
了解
while + else
else的代码与循环内容无关,会在没有break打断的情况下最后运行
加了break后:
跳出循环:
while + 一个条件范围, 不满足这个条件范围就会跳出循环
通过代码体可以结束循环
断点
启动断点,鼠标右键,点击debug
ctrl+F5 重启程序
ctrl +F2 停止
F9 绿色的三角形是调到下 一个断点
F8 蓝色朝下的箭头是单步走。
if和while结合
while嵌套
for循环
while循环遍历列表
for可以不依赖索引取值,是一种通用的循环取值方式
for循环次数是由被循环对像包含值的个数决定,而while和循环次数是由条件决定。
for循环遍历字典,默认取的是key值
names={'name1':'dahai',"name2":"xiaohai",'name3':"红海"}
for i in names: #取key值
print(i)
for i in names.keys(): #取key值
print(i)
for i in names.values(): #取value值
print(i)
for i in names.items(): #取键值对,取出的是元组
print(i)
中断
for循环也可与 break 或者 continue 连用
#了解
for + else else的代码会在for循环没有被break打断的情况下最后运行
range
它是一个迭代器,顾头不顾尾,常与for连用,以节省内存。
range(起始索引,结束索引,步长)
range(结束索引) #相当于起始索引 是0
a=range(5000) #为结省内存,列表可不表示出来,直接以list(range(5000))来表示
list1=list(a)
print(list1)
for循环的嵌套
乘法口决表(print函数中默认有一个换行符,可以用 end=“ ”来控制。)
for a in range(1,10):
for b in range(1,a+1):
print(a,"*",b,"=",a*b ,end=" " )
print('%s*%s=%s'%(a,b,a*b),end=" ")
print()
for循环去重
info=[{'name':"dahai",'age':18},
{'name':'honghai','age':19},
{'name':"dahai",'age':18} ]
l=[]
for i in info:
if i not in l:
l.append(i)
print(l)
info=l
print(info)