不论什么编程语言,第一次学习都会讲到”hello world”,都会讲到循环.同样在python的世界中也是有循环的。
当然在我们的系统业务流程上也是可以有循环存在的,比如重复添加数据,登录界面如果密码错误不能登录的时候就是返回到登录界面,等等这些业务场景需要用循环来操作.
一. While循环
直接上例子:
a=1while a<10: print(a) a+=2
上面的代码我们可以看一下:
a=1 定义一个变量,并赋值为1
下面开始循环,条件是a<10,当a小于10的时候,就执行下面的语句:print(a)语句和a+=2语句.
执行结果如下:
整个代码的作用是:输出10以内的奇数 从上面的结果中,我们可以得出: 1. 循环是需要有一个初始值的 2. 需要 有一个条件语句,可以停止循环 3. 循环体内需要有变量的递增 这个上面的是while循环 二. for 循环
原理和while差不多,不过for循环有for循环的语法,例子:
1. for i in list:
这里的i是for循环中的变量,list是定义的列表的变量
整个语句意思是:变量在list中,然后输出这个变量
因为for循环有按照顺序遍历的概念,所以这个i值是从列表的第一个元素开始遍历直到最后一个元素
那么我操作的对象不是列表,此时该咋么处理呢?
那么就要用到 for i in range(0,10)同样的要求代码实现:
这里值得注意的是: 1. 没有定义变量,而是直接设定范围 2. Range的参数:1代表初始值,10代表结束值,但是不包含10,最大到9,2代表步调就间隔值的意思. 这是for 循环的另一个用法. 以上是pyhton中循环的基本理解,当然在写循环的代码或者流程的时候,我们需要注意:
1. 当条件语句为True,非0,非空列表,非空字符换,非空元祖这样值的时候,表示条件一直为真. 2. 不要故意去写错误的死循环,否则机器会受不了 3. 有时候死循环是业务需要,所以不是所有的死循环都是bug 前面提过if条件判断是可以嵌套的,同样循环也是可以嵌套的
如: #实现九九乘法表a = 1 #代表行b = 1 #代表列while a < 10: b = 1 while b <= a: #当列数值小于行数值时,执行下面的程序 print(b,end="*") #不换行,有空乘号 print(a,end="=") #不换行,有等号 print(b*a,end=" ") #不换行,有空格 #注意: 上面的3行语句可由一行进行代替: print(str(b) + "*" + str(a) + "=" + str(b*a),end="\t") #"\t"代表制表符,比空格要大一些 b += 1 a += 1 #行数值加1 print()#换行 #注意: 必须严格注意缩进的规律,否则会报“expect an indented block“的错误。 上代码是用嵌套循环的方式实现9*9乘法表:
------------END--------------