本文利用的是Python 3.x版本,建议学习3.x版本Python中的分支判断、循环1. 分支条件判断1.1 比较操作以下是数之间常见的比较操作,例如5>3就是数学意义上的比较,5是大于3的,所以这个式子的值是True。如何比较,根据两个数之间的符号判断即可。这里要注意的是!=是不相等的意思,==是相等的意思。例如5==3这显然是不对的,所以式子的值是False# i j是变量名i > ji >= ji < ji <= ji == ji != j1.2 逻辑操作not a #如果a是True则 结果为False,反之同理a and b #同时为True时,结果为Truea or b #至少一个为True,结果为True在布尔值之间进行运算,之前说数据类型的时候也说过。我们说了例如5>3这样的比较的式子的值是布尔值,也就是说可以将式子进行逻辑运算。例如5>3 and 5==3#相当于True and False结果是False下面是测试结果1.3 控制流,分支计算机可以进行自动化操作,因为可以按照我们给定的条件判断执行,所以分支判断是必不可少的。简单来说就是,如果条件A成立,那么做些什么,不成立做些什么,例如如果今天下雨,我就不出门。最简单的条件判断语句如下,有几个地方容易出错,条件后要用冒号,if条件块里的代码要进行缩进,4个空格,如果了解其他语言的同学应该知道,很多语言的代码块是靠大括号{}来标识的。为什么要有代码块?代码块内的代码的层次是一样的。举个例子,如果不区分代码块,那么如果if判断条件成立后,代码究竟要执行到哪里?所以当条件成立时,执行这个if后的代码块内的内容。一定要注意缩进,不然在py中会出错的。当然现在的代码编辑器多数都很智能,在写完冒号后敲击回车,就可以自动缩进4个空格,我用的VScode就是这样的,很方便。#如果<条件>为True,则执行if块#里的操作,注意缩进和冒号!!if <条件>: 操作1 操作2 ……#实例x = 6if x>3 and x<8: print(“hello”)#结果会打印出hello 接下来稍微复杂,就是if else,意思是如果if判断的条件成立(结果为True),则执行if代码块内的代码,如果不成立则执行else代码块内的代码。简单来说就是如果条件成立,则执行if代码块内的代码,否则执行else内的代码。else和if一样也要加冒号以及代码块的缩进。#先执行if的<条件>查看是否为True,#如果为True则进入if块,不会进入#else,如果为False则进入else,不进入ifif <条件>: 操作1 操作2 ……else: 操作1 操作2 ……#实例x = 6if x > 7: print(1)else: print(2)#结果会打印出2接下来是多条件判断,以上的判断都是单条件,非此即彼的判断。多条件判断可以用多个条件来判断,先查看条件1是否成立,如果成立则进入代码块执行,如果条件1不成立,继续看条件2是否成立……多条件用elif也要加冒号以及代码块缩进。# 多重条件,先看是否能进if,# 如果没进则继续判断是否能进elif……# 如果都没进,且有else的话,进入elseif <条件1>: 操作1 操作2 ……elif<条件2>:# elif可以有多个 操作1 操作2 ……else:# else可以没有 表达式 表达式 ……#实例x = 6if x > 10: print(1)elif x > 7 and x < 9: print(2)elif x > 4 and x < 7: print(3)else: print(4)#结果会打印出3这里再说一下多重条件和多个if的区别,在多重条件中,一旦某一条件成立,那么之后的代码就不会执行了,就不会再去判断之后的条件了。if <条件1>:#每个条件都要判断 操作if <条件2>:#每个条件都要判断 操作if <条件3>:#每个条件都要判断 操作if <条件1>:#如果条件1成立,不再判断后面的条件 操作elif <条件2>: 操作elif <条件3>: 操作嵌套条件判断,不建议过深的嵌套if <条件1>: if <条件2>: 操作 else: 操作else: 操作练习一下,要求用户从控制台输入两个float数(x,y),要给出提示(例如:请输入数x),判断x y的大小,如果相等则输出相等。如果x大则输出x大,如果x小则输出x小。如果x大于y时,如果y不等于0,则输出x/y的数值。x = float(input(“请输入数x:”))y = float(input(“请输入数y:”))if abs(x-y)<1.0e-9: print(“x,y相等”)elif x > y: print(“x大于y”) if abs(y)>1.0e-9: print(“x/y=",x/y)else: print(“x小于y”)解释一下abs(x-y)<1.0e-9,abs是求绝对值函数,当x和y的差值小于1^(-9)时,就认为x和y是相等的,这是因为浮点数的表示是有误差的,用==来比较很危险,所以只要在我们需要的精度内相等即可。2. 循环2.1 while loop当我们需要执行大量相似的操作时,这时循环就派上用场了,首先说一下while循环。while <条件>:#注意冒号和4个空格的缩进 操作 ……如果<条件>为True,则执行while块里的所有操作,然后继续检查<条件>是否为True,一直重复块里的表达式,直到<条件>为False,如下例子n = 0while n < 5: print(n) n = n + 12.2 for loopfor循环,相对于while更加确定执行的次数,while根据条件来确定是否执行,而for通常是给定了执行的次数。for <变量> in range(<一些数字>): <表达式>#注意冒号和4个空格的缩进 ……#实例for v in range(6): print(v)#结果会打印0-5sum = 0for i in range(101): sum = sum + i#求0-100的和相当于每次把值赋予给变量,然后在代码块内部可以使用这个变量,2.3 range(start,stop,step)默认的参数是start=0,代表从哪个数开始,step=1,代表步长,意味着每次增加多少,数的范围是0stop-1mysum = 0for i in range(7,10): mysum += iprint(mysum)#求7 8 9的和mysum = 0for i in range(5,11,2): mysum += iprint(mysum)#求5 7 9的和2.4 breakbreak表示立即退出循环,跳过剩下在块里的表达式,仅仅退出最里层的循环!简单来说就是给一个条件,当这个条件成立时,退出循环,经常和if搭配使用。mysum = 0for i in range(5,11,2): mysum += i #当mysum等于5的时候,退出循环 if mysum == 5: break musum += 1print(mysum)2.5 for和while的比较for知道迭代的次数可以通过break提前结束循环使用计数器,因为有个变量可以帮助计数可以用while循环来重写for循环while迭代次数无限制可以通过break提前结束循环可以使用计数器,但是得提前初始化,并且每次得更新可能没法用for循环重写while到此为止有了判断、循环、输入、输出后,就可以写一些简单的程序了如果觉得不错,可以分享,可以关注公众号~