小九自助建站,导游是什么,wordpress 2016主题,新手学做网站百度云控制语句 我们在前面学习的过程中#xff0c;都是很短的示例代码#xff0c;没有进行复杂的操作。现在#xff0c;我们将开始学习流程控制语句。 前面学习的变量、数据类型#xff08;整数、浮点数、布尔#xff09;、序列#xff08;字符串、列表、元组、字 典、集合都是很短的示例代码没有进行复杂的操作。现在我们将开始学习流程控制语句。 前面学习的变量、数据类型整数、浮点数、布尔、序列字符串、列表、元组、字 典、集合可以看做是数据的组织方式。数据可以看做是“砖块” 流程控制语句是代码的组织方式可以看做是“混凝土”。 一个完整的程序离不开“砖块”也离不开“混凝土”。他们的组合才能让我们建立从小到“一个方法”大到“操作系统”这样各种各样的“软件”。
一、选择结构 选择结构通过判断条件是否成立来决定执行哪个分支。选择结构有多种形式分为单分 支、双分支、多分支。
1.单分支选择结构 if 语句单分支结构的语法形式如下 if 条件表达式: 语句/语句块
其中 条件表达式可以是逻辑表达式、关系表达式、算术表达式等等。 语句/语句块可以是一条语句也可以是多条语句。多条语句缩进必须对齐一致。
num input(输入一个数字)
if int(num)10:print(num)
条件表达式详解
在选择和循环结构中条件表达式的值为False的情况如下 False、0、0.0、空值None、空序列对象空列表、空元祖、空集合、空字典、空字 符串、空range对象、空迭代对象。 其他情况均为True。
·条件表达式中不能有赋值操作符“”
2.双分支选择结构 双分支结构的语法格式如下 if 条件表达式 : 语句1/语句块1 else: 语句2/语句块2
三元条件运算符 Python 提供了三元运算符用来在某些简单双分支赋值情况。三元条件运算符语法格式如 下
条件为真时的值 if (条件表达式) else 条件为假时的值
num input(请输入一个数字)
print( num if int(num)10 else 数字太大)
3.多分支选择结构 多分支选择结构的语法格式如下 if 条件表达式1: 语句1/语句块1 elif 条件表达式2: 语句2/语句块2 . . . elif 条件表达式n: 语句n/语句块n [else: 语句n1/语句块n1 ]
二、循环结构 循环结构用来重复执行一条或多条语句。表达这样的逻辑如果符合条件则反复执行循环体里的语句。在每次执行完后都会判断一次条件是否为True如果 为True则重复执行循环体里的语句。图示如下 1.while 循环
例利用while循环计算1-100之间数字的累加和计算1-100之间偶数的累加和 计算1-100之间奇数的累加和。
i 0
sum 0
sum_o 0
sum_e 0
while i 100:sum sum iif i % 2 1:sum_e i sum_eelse:sum_o sum_o ii i 1
print(sum)
print(sum_e)
print(sum_o)# 5050
# 2500
# 2550
2.for 循环和可迭代对象遍历 for 循环通常用于可迭代对象的遍历。for循环的语法格式如下 for 变量 in 可迭代对象 循环体语句
遍历一个元组或列表:
for x in (20,30,40):print(x*3)
可迭代对象
Python 包含以下几种可迭代对象 1. 序列。包含字符串、列表、元组 2. 字典 3. 迭代器对象iterator 4. 生成器函数generator 5. 文件对象
遍历字符串中的字符:
for i in love you:print(i)
遍历字典
d {name:gaoqi,age:18,address:西三旗 001 号楼}
for x in d: #遍历字典所有的keyprint(x)
for x in d.keys():#遍历字典所有的keyprint(x)
for x in d.items():#遍历字典所有的键值对print(x)
for x in d.values():#遍历字典所有的valueprint(x)
①range 对象 range 对象是一个迭代器对象用来产生指定范围的数字序列。格式为
range(start, end [,step]) 生成的数值序列从start开始到end结束不包含end。若没有填写start则默认从0 开始。step是可选的步长默认为1。如下是几种典型示例 for i in range(10) 产生序列0123456789 for i in range(3,10)产生序列3456789 for i in range(3,10,2) 产生序列3 5 7 9
例1.计算累加和 利用for循环计算1-100之间数字的累加和计算1-100之间偶数的累加和 计算1-100之间奇数的累加和。
sum 0
sum_e 0
sum_o 0
for i in range(1,101):sum sum ii i 1
for i in range(1,101,2):sum_e sum_e ii i 1
for i in range(2,101,2):sum_o sum_o ii i 1
print(sum)
print(sum_e)
print(sum_o)# 5050
# 2500
# 2550
②嵌套循环和综合练习 一个循环体内可以嵌入另一个循环一般称为“嵌套循环”或者“多重循环”。
例1.打印如下图案 for i in range(5):for j in range(5):print(i,end \t)print( ) #仅用于换行
例2.打印九九乘法表
for i in range(1,10):for j in range(1,i1):print(j,*,i,,i*j,end \t)print( ) #仅用于换行# 1 * 1 1
# 1 * 2 2 2 * 2 4
# 1 * 3 3 2 * 3 6 3 * 3 9
# 1 * 4 4 2 * 4 8 3 * 4 12 4 * 4 16
# 1 * 5 5 2 * 5 10 3 * 5 15 4 * 5 20 5 * 5 25
# 1 * 6 6 2 * 6 12 3 * 6 18 4 * 6 24 5 * 6 30 6 * 6 36
# 1 * 7 7 2 * 7 14 3 * 7 21 4 * 7 28 5 * 7 35 6 * 7 42 7 * 7 49
# 1 * 8 8 2 * 8 16 3 * 8 24 4 * 8 32 5 * 8 40 6 * 8 48 7 * 8 56 8 * 8 64
# 1 * 9 9 2 * 9 18 3 * 9 27 4 * 9 36 5 * 9 45 6 * 9 54 7 * 9 63 8 * 9 72 9 * 9 81
例3.用列表和字典存储下表信息并打印出表中工资高于15000的数据 例3.用列表和字典存储下表信息并打印出表中工资高于 15000 的数据
r1 dict(name高小一,age18,salary30000,city北京)
r2 dict(name高小二,age19,salary20000,city上海)
r3 dict(name高小三,age20,salary10000,city深圳)
tb [r1,r2,r3]
for x in tb:if x.get(salary) 15000:print(x)#{name: 高小一, age: 18, salary: 30000, city: 北京}
#{name: 高小二, age: 19, salary: 20000, city: 上海}
③break 语句 break 语句可用于 while 和 for 循环用来结束整个循环。当有嵌套循环时break 语句只能跳出最近一层的循环。
使用 break 语句结束循环
while 1:a input(请输入字母,当输入Q或者q时循环跳出)if a Q or a q:breakelse:print(a)
④continue 语句 continue 语句用于结束本次循环继续下一次。多个循环嵌套时continue 也是应用于最近的一层循环。 例4.要求输入员工的薪资若薪资小于 0 则重新输入。最后打印出录入员工的数量和薪资明细以及平均薪。
employee_num 0
salary_sum 0
salary_list []
while 1:salary input(请输入员工薪资当输入q或Q时结束)if salary q or salary Q:print(录入完成退出系统)breakif float(salary) 0:continueemployee_num employee_num 1salary_list.append(salary)salary_sum salary_sum float(salary)print(员工总数为,employee_num)print(员工薪资总数为,salary_sum)print(员工薪资平均数为,salary_sum/employee_num)print(员工薪资列表为,salary_list)
⑤else 语句 while、for 循环可以附带一个 else 语句可选。如果 for、while 语句没有被 break 语句结束则会执行 else 子句否则不执行。语法格式如下 while 条件表达式 循环体 else: 语句块
或者 for 变量 in 可迭代对象 循环体 else: 语句块 例5.员工一共 4 人。录入这 4 位员工的薪资。全部录入后打印提示“您已经全部录入 4 名员工的薪资”。最后打印输出录入的薪资和平均薪资。
employee_num 0
salary_sum 0
salary_list []
for i in range(4):salary input(请输入共四名员工的工资(按q或Q退出): )if salary q or salary Q:print(录入完成退出)breakif float(salary) 0:print(输入非法请重新输入)continuesalary_list.append(float(salary))salary_sum float(salary)employee_num 1print(当前录入员工个数为, employee_num)print(当前录入员工工资总和为, salary_sum)print(当前录入员工工资平均数为, salary_sum / employee_num)print(当前录入员工工资列表为, salary_list)
⑥循环代码优化 虽然计算机越来越快空间也越来越大我们仍然要在性能问题上“斤斤计较”。编写循环时遵守下面三个原则可以大大提高运行效率避免不必要的低效计算 1. 尽量减少循环内部不必要的计算 2. 嵌套循环中尽量减少内层循环的计算尽可能向外提。 3. 局部变量查询较快尽量使用局部变量
三、综合练习
文章转载自: http://www.morning.mqwnz.cn.gov.cn.mqwnz.cn http://www.morning.chgmm.cn.gov.cn.chgmm.cn http://www.morning.yxgqr.cn.gov.cn.yxgqr.cn http://www.morning.gxhqt.cn.gov.cn.gxhqt.cn http://www.morning.jfjpn.cn.gov.cn.jfjpn.cn http://www.morning.zgpgl.cn.gov.cn.zgpgl.cn http://www.morning.fgqbx.cn.gov.cn.fgqbx.cn http://www.morning.qgjgsds.com.cn.gov.cn.qgjgsds.com.cn http://www.morning.hcszr.cn.gov.cn.hcszr.cn http://www.morning.rqbkc.cn.gov.cn.rqbkc.cn http://www.morning.yngtl.cn.gov.cn.yngtl.cn http://www.morning.qgxnw.cn.gov.cn.qgxnw.cn http://www.morning.rysmn.cn.gov.cn.rysmn.cn http://www.morning.xkmrr.cn.gov.cn.xkmrr.cn http://www.morning.fnkcg.cn.gov.cn.fnkcg.cn http://www.morning.hgscb.cn.gov.cn.hgscb.cn http://www.morning.wrtpk.cn.gov.cn.wrtpk.cn http://www.morning.lffrh.cn.gov.cn.lffrh.cn http://www.morning.nbrdx.cn.gov.cn.nbrdx.cn http://www.morning.ckxd.cn.gov.cn.ckxd.cn http://www.morning.lwmzp.cn.gov.cn.lwmzp.cn http://www.morning.mhcft.cn.gov.cn.mhcft.cn http://www.morning.mynbc.cn.gov.cn.mynbc.cn http://www.morning.zryf.cn.gov.cn.zryf.cn http://www.morning.mjkqj.cn.gov.cn.mjkqj.cn http://www.morning.xckdn.cn.gov.cn.xckdn.cn http://www.morning.mkpkz.cn.gov.cn.mkpkz.cn http://www.morning.ydnx.cn.gov.cn.ydnx.cn http://www.morning.dtpqw.cn.gov.cn.dtpqw.cn http://www.morning.xlyt.cn.gov.cn.xlyt.cn http://www.morning.lzqnj.cn.gov.cn.lzqnj.cn http://www.morning.fhghy.cn.gov.cn.fhghy.cn http://www.morning.kgltb.cn.gov.cn.kgltb.cn http://www.morning.bsbcp.cn.gov.cn.bsbcp.cn http://www.morning.grpfj.cn.gov.cn.grpfj.cn http://www.morning.yjdql.cn.gov.cn.yjdql.cn http://www.morning.zkzjm.cn.gov.cn.zkzjm.cn http://www.morning.tnrdz.cn.gov.cn.tnrdz.cn http://www.morning.xfwnk.cn.gov.cn.xfwnk.cn http://www.morning.llqky.cn.gov.cn.llqky.cn http://www.morning.wmmjw.cn.gov.cn.wmmjw.cn http://www.morning.ydhmt.cn.gov.cn.ydhmt.cn http://www.morning.psxcr.cn.gov.cn.psxcr.cn http://www.morning.cfpq.cn.gov.cn.cfpq.cn http://www.morning.yzygj.cn.gov.cn.yzygj.cn http://www.morning.txzqf.cn.gov.cn.txzqf.cn http://www.morning.lnnc.cn.gov.cn.lnnc.cn http://www.morning.pbksb.cn.gov.cn.pbksb.cn http://www.morning.sfgzx.cn.gov.cn.sfgzx.cn http://www.morning.xflwq.cn.gov.cn.xflwq.cn http://www.morning.tpyrn.cn.gov.cn.tpyrn.cn http://www.morning.mjglk.cn.gov.cn.mjglk.cn http://www.morning.lzqtn.cn.gov.cn.lzqtn.cn http://www.morning.dcpbk.cn.gov.cn.dcpbk.cn http://www.morning.pqkyx.cn.gov.cn.pqkyx.cn http://www.morning.skfkx.cn.gov.cn.skfkx.cn http://www.morning.dxxnq.cn.gov.cn.dxxnq.cn http://www.morning.cwrnr.cn.gov.cn.cwrnr.cn http://www.morning.xgchm.cn.gov.cn.xgchm.cn http://www.morning.qkgwx.cn.gov.cn.qkgwx.cn http://www.morning.gstmn.cn.gov.cn.gstmn.cn http://www.morning.nrcbx.cn.gov.cn.nrcbx.cn http://www.morning.zpkfb.cn.gov.cn.zpkfb.cn http://www.morning.rhpy.cn.gov.cn.rhpy.cn http://www.morning.fhhry.cn.gov.cn.fhhry.cn http://www.morning.ryspp.cn.gov.cn.ryspp.cn http://www.morning.glkhx.cn.gov.cn.glkhx.cn http://www.morning.gstg.cn.gov.cn.gstg.cn http://www.morning.shinezoneserver.com.gov.cn.shinezoneserver.com http://www.morning.slpcl.cn.gov.cn.slpcl.cn http://www.morning.rfycj.cn.gov.cn.rfycj.cn http://www.morning.lqklf.cn.gov.cn.lqklf.cn http://www.morning.xcszl.cn.gov.cn.xcszl.cn http://www.morning.gwjqq.cn.gov.cn.gwjqq.cn http://www.morning.chxsn.cn.gov.cn.chxsn.cn http://www.morning.nyfyq.cn.gov.cn.nyfyq.cn http://www.morning.wtxdp.cn.gov.cn.wtxdp.cn http://www.morning.jcwhk.cn.gov.cn.jcwhk.cn http://www.morning.nbdtdjk.cn.gov.cn.nbdtdjk.cn http://www.morning.lpnb.cn.gov.cn.lpnb.cn