Python基础系列四:控制语句

1275-李同学

发表文章数:25

首页 » Python » 正文

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 循环代码优化(重要)

编写循环,应该遵守以下三个原则:

  1. 尽量减少循环内部不必要的计算
  2. 嵌套循环中,尽量减少内层循环的计算,尽可能往外提
  3. 局部变量查询较快,尽量使用局部变量

其他操作建议:

  1. 连接多个字符串,使用join()而不是+
  2. 列表进行元素插入和删除,尽量在列表尾部操作

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

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录