用dede做网站后台,博客网站制作,网页设计需要的技能,网站设置专栏Python流程控制
在流程控制介入之前#xff0c;代码只能从上到下依次执行#xff0c;这个状态的代码还处于一个没有灵魂的状态
流程控制是让代码实现 判断分支 和 重复执行 的核心#xff0c;加入流程控制之后#xff0c;我们的代码就可以处理复杂的逻辑需求了
而流程控制一…Python流程控制在流程控制介入之前代码只能从上到下依次执行这个状态的代码还处于一个没有灵魂的状态流程控制是让代码实现 判断分支 和 重复执行 的核心加入流程控制之后我们的代码就可以处理复杂的逻辑需求了而流程控制一般又有条件控制和循环控制条件控制语句if-elif-else条件控制语句可以让程序根据不同的条件执行不同的代码基础语法规则如下# 单分支满足条件才执行if条件表达式:# 条件表达式返回布尔值True/False末尾必须加冒号代码块# 缩进4个空格/Tab表示属于if的代码块# 双分支二选一执行if条件表达式:满足条件的代码块else:不满足条件的代码块# 多分支多选一执行if条件1:代码块1elif条件2:# 可写多个elif代码块2else:# 可选所有条件都不满足时执行代码块3使用if语句时需注意以下几点条件表达式可以是直接的布尔值、比较运算、逻辑运算甚至是任意能被隐式转为布尔值的对象空字符串 / 0 / 空列表为 False其余为 True代码块必须缩进elif和else不能单独使用必须跟在if后面多分支中只要一个条件满足后续条件不再判断执行完对应代码块就跳出分支话不多说直接上代码以学生信息为例age年龄score分数gender性别age20score88gender0# 假设0表示女生1表示男生# 可以通过以上内容输出这位同学的相关信息# 先判断是否成年print(是否成年)ifage18:print(成年人)else:print(未成年人)# 再判断成绩的等级A对应90以上B对应80~89C对应70~79D对应60~69E对应60以下print(该学生的成绩等级)ifscore90:print(A)elifscore80:print(B)elifscore70:print(C)elifscore60:print(D)else:print(E)# 最后判断学生性别可以使用if else也可以使用2个if判断print(该学生的性别)ifgender0:print(女)ifgender1:print(男)结果如下是否成年 成年人 该学生的成绩等级 B 该学生的性别 女三元表达式写法# 结果1 if 条件 else 结果2# 如果条件为真取结果1否则取结果2age12result成年ifage18else未成年print(result)结果如下未成年循环控制for、while循环是指如果指定的条件成立就会一直执行想要执行部分的代码直到条件不成立或者在循环体中手动写一个中断程序才会停止运行外面想要重复执行的那部分代码称之为循环体while循环while条件表达式:# 条件为True时重复执行代码块循环体缩进代码# 必须有让条件最终变为False的逻辑否则会陷入死循环注意避免死循环代码会一直执行终止条件处于不可到达的状态示例代码实现一个计数代码输出1~100所有的数如果不采用循环的我们就需要一直使用print从1~100写100条print显然有点呆了具体实现如下a1whilea100:print(a)a1# 每次输出完之后让a1否则会一直输出1并且不会退出给定一个数字我们通过输入的方式将我们猜的数字反馈给程序程序根据我们输入的数字给我们反馈直到猜到指定数字secret_num6whileTrue:# 先无限循环# input 用于从控制台接收输入的数据每次输入数据后回车输入数据guessint(input(猜1-10的数字))ifguesssecret_num:print(猜对了)break# 猜对后终止循环elifguesssecret_num:print(猜小了)else:print(猜大了)结果如下猜1-10的数字4 猜小了 猜1-10的数字9 猜大了 猜1-10的数字5 猜小了 猜1-10的数字6 猜对了for遍历「可迭代对象」列表、字符串、字典、range 序列等逐个取出元素执行循环体是 Python 中最常用的循环。for变量名in可迭代对象:循环体每次循环变量名会被赋值为可迭代对象的下一个元素示例代码# 遍历字符串逐字符输出forcharinPython:print(char)# 输出P、y、t、h、o、n# 遍历列表逐个输出元素fruits[苹果,香蕉,橙子]forfruitinfruits:print(f我喜欢吃{fruit})# 遍历range序列生成数字范围最常用# range(开始, 结束, 步长)结束值不包含步长默认1foriinrange(1,6):# 生成1、2、3、4、5print(i)foriinrange(0,10,2):# 生成0、2、4、6、8print(i)# 遍历字典默认遍历键可指定遍历值/键值对student{name:小明,age:18,gender:男}# 遍历键forkeyinstudent:print(key,student[key])# 输出name 小明age 18gender 男# 遍历键值对fork,vinstudent.items():print(f{k}{v})具体结果如下P y t h o n 我喜欢吃苹果 我喜欢吃香蕉 我喜欢吃橙子1234502468name 小明 age18gender 男 name小明 age18 gender男循环控制辅助语句break/continue/pass这三个语句用于在循环中精准控制执行流程是循环的 “辅助开关”。语句作用break立即终止整个循环跳出循环体后续循环不再执行continue跳过本次循环的剩余代码直接进入下一次循环的条件判断pass空语句仅作为 “占位符”语法上需要代码块但暂时无逻辑时用不影响执行示例代码# break终止循环foriinrange(1,6):ifi3:break# 当i3时终止整个循环print(i)# 输出1、23及之后不执行# continue跳过本次循环foriinrange(1,6):ifi3:continue# 跳过i3的打印直接进入下一次循环print(i)# 输出1、2、4、53被跳过# pass占位符foriinrange(1,6):ifi3:pass# 暂时无逻辑先占位不影响循环执行print(i)# 输出1、2、3、4、5无任何影响# while中使用break/continuei1whilei5:i1ifi3:continue# 跳过i3的打印ifi5:break# 终止循环print(i)# 输出2、4结果如下1212451234524流程控制嵌套分支和循环可以互相嵌套实现复杂逻辑比如 “循环里加判断”“判断里加循环”“循环嵌套循环”筛选一定范围内的偶数nums[1,2,3,4,5,6]fornuminnums:ifnum%20:print(f{num}是偶数)else:print(f{num}是奇数)结果打印如下1是奇数2是偶数3是奇数4是偶数5是奇数6是偶数实现九九乘法表# 外层循环控制行数1-9foriinrange(1,10):# 内层循环控制每行的列数1-iforjinrange(1,i1):print(f{j}×{i}{i*j},end\t)# end\t 不换行用制表符分隔print()# 每行结束后换行效果如下1×111×222×241×332×363×391×442×483×4124×4161×552×5103×5154×5205×5251×662×6123×6184×6245×6306×6361×772×7143×7214×7285×7356×7427×7491×882×8163×8244×8325×8406×8487×8568×8641×992×9183×9274×9365×9456×9547×9638×9729×981python绘制爱心代码实现# 定义爱心的数学函数心形线方程foryinrange(15,-15,-1):lineforxinrange(-30,30):# 心形线方程((x*0.05)^2 (y*0.1)^2 - 1)^3 - (x*0.05)^2 * (y*0.1)^3 0formula((x*0.05)**2(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3ifformula0:# 在爱心内部填充字符line*else:# 爱心外部填充空格line print(line)实现效果自行尝试哦