您的位置: 网站首页> python基础> 当前文章
python的while及for循环初步使用
老董-我爱我家房产SEO2019-06-04189围观,101赞
循环这种效果在计算机底层的实现原理我们不用深究,懂汇编的人可以明白(依赖jump指令)。我们先看下直观的效果。
# -*- coding: utf-8 -*- i = 1 while i < 5 : print('发财啦',i) i += 1 # 自增 i = i+1 print('/////////////////////') j = 1 for i in range(5): #range函数下文讲解 print('发财啦', j) j += 1 # 自增 j = j+1
D:python3installpython.exe D:/python/py3script/python66.py 发财啦 1 发财啦 2 发财啦 3 发财啦 4 ///////////////////// 发财啦 1 发财啦 2 发财啦 3 发财啦 4 发财啦 5 Process finished with exit code 0
一、while循环
while循环语句结构
while条件表达式:
循环体语句块
1)while循环中,当条件表达式为真时,就会重复的执行循环体内的语句块,直到条件为假。从这个意义上看,while循环也可被当成分支语句使用,即如果条件表达式一开始就为假,则循环体部分将永远不会获得执行的机会。
2)使用while循环时,一定要保证循环条件有变成假的时候:否则这个循环将成为一个死循环,永远无法结束循环。例如:
# -*- coding: utf-8 -*- # 下面是一个死循环 i = 0 while i < 10 : print("执行循环:", i) i -=1 print("无法跳出的循环体")
二、for循环
python中for循环语句的主要作用就是访问可迭代对象(序列,迭代器,生成器,字典,集合等)中的所有元素,并在所有元素都处理之后自动的结束循环。
for循环语句结构
for 变量名 in 可迭代对象(字符串|范围|集合等):
语句块
1)for-in循环中的变量的值受for-in循环控制,该变量将会在每次循环开始时自动被赋值,该变量也被称为循环计数器,如果对该变量赋值则会改变改变量。
2)for-in循环可用于遍历任何可选代对象。所谓可迭代对象,就是指该对象中包含一个__iter__方法,且该方法的返回值对象具有next()方法。
# -*- coding: utf-8 -*- for i in range(5): i = 6 print(i) print('//////////////////') for i in range(5): print(i)
D:python3installpython.exe D:/python/py3script/python66.py 6 6 6 6 6 ////////////////// 0 1 2 3 4 Process finished with exit code 0
三:range函数
python3里range函数是用来生成一个由数字组成的列表的迭代器,它有三个参数,range(start,stop,step)和切片类似。
参数说明:
start:计数从start开始。默认是从0开始。例如range(5)等价于range(0,5);
stop:计数到stop结束,但不包括stop。例如:range(0,5)是[0,1,2,3,4]没有5;
step:步长,默认为1。例如:range(0,5)等价于range(0,5,1)。
四:迭代器(暂时先了解,迭代器、可迭代对象、生成器等概念先知道下即可)
1)迭代器其实就是一个实现了迭代器协议的容器对象,是一个可以记住遍历的位置的对象。
2)迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。如果需要重复的迭代同一个对象,只能再重新创建一个新的迭代器。
3)迭代器可以通过使用一个iter内建函数和一个序列来创建。
4)迭代器有两个基本的方法:__next__返回容器的下一个元素,__iter__返回迭代器本身。
# -*- coding: utf-8 -*- lis = [1,2,3] res = iter(lis) print(res) print(res.__iter__()) print(res.__next__()) print(res.__next__()) print(res.__next__())
D:python3installpython.exe D:/python/py3script/python66.py <list_iterator object at 0x00000221B1387518> <list_iterator object at 0x00000221B1387518> 1 2 3 Process finished with exit code 0
五、for、while循环应用
# -*- coding: utf-8 -*- print("求1到100的和:") i = 1 sum = 0 while i<=100: if i%2 == 0: sum = sum + i i+=1 print("1~100的累积和为%d"%sum) print("遍历字符串和下标:") str1 = "hello" for i in range(len(str1)): print("str1[%d] = %s" % (i, str1[i])) print("遍历字典、集合:") # 遍历字典、集合 d = {'a': 1, 'b': 2,} for key in d: print(key, d[key]) for key, val in d.items(): # items()函数先了解下 print(key, val) # 遍历集合 for s in set('abc'): print(s) print("enumerate函数打印序列的下标和值:") # enumerate函数打印序列的下标和值 str2 = "hello" for i, v in enumerate(str2): print(i, v) lis = ['a','b','c'] for i, v in enumerate(lis): print(i, v)
D:python3installpython.exe D:/python/py3script/python66.py 求1到100的和: 1~100的累积和为2550 遍历字符串和下标: str1[0] = h str1[1] = e str1[2] = l str1[3] = l str1[4] = o 遍历字典、集合: a 1 b 2 a 1 b 2 a b c enumerate函数打印序列的下标和值: 0 h 1 e 2 l 3 l 4 o 0 a 1 b 2 c Process finished with exit code 0
很赞哦!
python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
相关文章
文章评论
-
python的while及for循环初步使用文章写得不错,值得赞赏