循环是计算机可以帮我们做重复的大量的计算操作,比如要计算 1 + 2 + 3,我们可以直接写表达式,计算从
1 加到 1000,如果你一个一个加的方式去写代码,老板就要气疯了,此时我们就需要用循环了。
Python 的循环有两种:一种是 for 循环,一种是 while 循环。
for 循环
for 循环的写法为 for x in Y
,就是把 Y 里面的每个成员(dict 带入的是键)带入 x(无论该成员有多复杂),
一般 Y 是集合(比如 str,list,tuple,dict,set 以及自定义可以遍历的类型)。
complex_list = ["ruhua", "xingxing", "zhaoritian", (1,), [2, 3], {"name": u"hauhua", "age": 18}] for item in complex_list: print(item)
用 for 循环直接遍历 dict 带入的是键,如果想带入值和成员,可以使用 dict 的 values 函数和 items 函数。
students_dict = {"name": "ruhua", "age": 18} for student in students_dict: print(student) # 带入的是键 for student in students_dict.keys(): print(student) # 带入的是键 for student in students_dict.values(): print(student) # 带入的是值 for student in students_dict.items(): print(student) # 带入的是成员
用 for 循环计算从 1 加到 1000 的总和,我们可以用 range 函数,range(1000)
实际上是生成一个
0 到 999 的 range 对象;我们也可以使用 range 函数生成某个范围的数放入 range 对象里面,比如 range(2, 5)
,注意是左闭右开。
for i in range(1000): print(i) print(range(2, 5))
注意:在 Python 2 中多了一个 xrange 函数,xrange 函数的作用和 range 相同,只是 xrange 函数返回的是一个迭代器;而 Python 2 的 range 函数返回的则是一个 list 类型对象。
while 循环
while 循环,只要条件为真,就不断循环,直到条件为假时退出循环。
suppermen = ["如花", "星星", "赵日天"] smlen = len(suppermen) counts = 0 while counts < smlen: print(suppermen[counts]) counts += 1
重要的事情再说一遍,while 判断的是真假,对于各种数据类型的假值有:
整数 0, 浮点数 0.0, 字符串 “”, 动态数组 [], 元组 (), 集合 set([]), 字典 {}
和自定义类型空对象,对于所有类型的非假值即为真值。
continue 语句
continue 语句可以结束本次循环,然后回到 while 或者 for 判断语句位置进行判断,重新开始下一次循环。
# 打印出 1 到 10 之间的偶数 for item in range(1, 11): if item % 2 != 0: continue print(item)
continue 语句会破坏逻辑,容易导致程序易读性差,大多数循环并不需要用到 continue
语句,我们可以通过改写循环条件或者修改循环逻辑去掉 continue 语句。
# 打印出 1 到 10 之间的偶数 for item in range(1, 11): if item % 2 == 0: print(item)
break 语句
break 语句可以使循环运行到该处结束循环,跳到循环之外。我们看个例子:找出字符串中 是否有 “学” 字符串,有的话打印出下标并退出循环,否则不输出。
strone = u"Python 学习基地" for index, item in enumerate(strone): # enumerate 函数返回一个元组,该元组有两个成员:索引和成员。 if item == u"学": print(index) break
break 语句虽然在程序中会经常用到,但 break 也会破坏逻辑,尽量少用。
本节重要知识点
for 循环和 while 循环的使用。
continue 语句和 break 语句的作用。
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Python3的for 循环和 while 循环