1. 选择结构
选择结构通过判断条件是否成立,来决定执行哪个分支。
1.1 单分支选择结构
s = input("please input a word:")
if int(s)<10:
print("s是小于10")
1.2 双分支选择结构
s = input("please input a word:")
if int(s)<10:
print("s是小于10")
else:
print("s是大于10")
1.2.1 三元条件运算符
三元条件运算符语法格式如下:条件为真时的值 if(条件表达式) else 条件为假的值
s = input("please input a word:")
print ("s是小于10" if(int(s)<10) else "s是大于10")
1.3 多分支选择结构
s = input("please input your score:")
if int(s)<60:
print("不及格")
elif int(s)<80:
print("及格")
elif int(s)<90:
print("良好")
elif int(s)<100:
print("优秀")
1.3.1 条件表达嵌套语句
score = int(input("please input your score:"))
grade = ""
degree = "ABCDE"
if score>100 or score <0:
score = input("please input your score:")
else:
if score>60:
print ("E")
else:
grade = degree[9-score//10]
print (grade)
1.4 条件表达式详解
在选择和循环结构中,条件表达式值为False的情况如下:
False、0、0.0、空值None、空序列对象(空列表,空元组,空集合、空字典、空字符串)、空range对象、空迭代对象。
其他情况,均为True。
Python所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。
条件表达式中,不能有赋值操作符"="
2. 循环结构
2.1 while循环
num = 0
while num<=10:
print(num,end="/t")
num +=1
2.2 for循环和可迭代对象遍历
Python包含以下几种可迭代对象:
1.序列,包含:字符串、列表、元组
2.字典
3.迭代器对象
4.生成器对象
2.2.1 序列
for x in (10,20,30): #元组
print(x*30)
for x in "abcde": #字符串
print (x)
for x in list("abcde"): #字符串
print (x)
d = {"name":"lilei","age":18,"job":"teacher"}
2.2.2 字典
for x in d: #遍历字典键
print(x)
for x in d.keys(): #遍历字典键
print (x)
for x in d.values(): #遍历字典值
print (x)
for x in d.items(): #遍历字典键值对
print (x)
2.2.3 迭代器对象range
range格式为:range(start,end[,step]),从start开始,到end,包含start,不包含end
sum = 0
for i in range(10):
sum = sum+i
print ('total number is {0}'.format(sum))
2.3 嵌套循环
for i in range(5):
for j in range(5):
print (i,end='/t')
print(end='/n')
## 九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print("{0}*{1}={2}".format(i,j,i*j),end='/t')
print("/n")
## 打印字典
d1 = dict(name="lily",age=18,salary=10000,city='北京')
d2 = dict(name="lucy",age=28,salary=20000,city='上海')
d3 = dict(name="jack",age=20,salary=15000,city='北京')
tb = [d1,d2,d3]
print("姓名",end='/t')
print("年龄",end='/t')
print("薪水",end='/t')
print("城市",end='/t')
print('/n')
for t in tb:
for v in t.values():
print(v,end='/t')
print('/n')
2.4 break和continue
break语句可用于while和for循环,用于结束整个循环。当有嵌套循环时,break跳出最近一层的循环。
continue用于结束本次循环,继续下一次,多个循环嵌套时,continue也是应用于最近一层的循环。
#打印矩阵斜对角矩阵
for i in range(5):
for j in range(5):
print (i,end='/t')
if i>=j:
break;
print(end='/n')
#打印出所有字符
for i in range(5):
for j in range(5):
print (i,end='/t')
if i<=j:
continue
print(end='/n')
2.5 else语句
while、for循环可以附带一个else语句(可选)。如果for、while语句没有被break语句结束,则会执行else子句,否则不执行。
## 不打印出‘done’
for i in range(5):
for j in range(5):
print (i,end='/t')
if i<=j:
break
print(end='/n')
else:
print("done.")
## 打印出‘done’
for i in range(5):
for j in range(5):
print (i,end='/t')
if i<=j:
continue
print(end='/n')
else:
print("done.")
2.6 循环代码优化(重要)
编写循环,应该遵守以下三个原则:
- 尽量减少循环内部不必要的计算
- 嵌套循环中,尽量减少内层循环的计算,尽可能往外提
- 局部变量查询较快,尽量使用局部变量
其他操作建议:
- 连接多个字符串,使用join()而不是+
- 列表进行元素插入和删除,尽量在列表尾部操作
2.7 zip()并行迭代
zip 并行迭代多个对象时,以最短的迭代对象长度为迭代次数
#A code block
names = ('lilu','lycy','dvaid')
ages = (28,29,40,21)
jobs = ('teacher','writer','doctor','student')
for name,age,job in zip(names,ages,jobs):
print("{0}--{1}--{2}".format(name,age,job))
拜师教育学员文章:作者:1275-李同学,
转载或复制请以 超链接形式 并注明出处 拜师资源博客。
原文地址:《Python基础系列四:控制语句》 发布于2020-09-11
评论 抢沙发