Python在项目中的实战-循环
一、简介
循环可以遍历列表、字符串等所有序列。让数据的生成、计算、遍历更为便利。例如,我们要往列表test=[1,2,3]添加4、5两个元素,我们通过两次append操作即可完成列表的添加,如若将数字4-100都添加到test列表,此时我们再使用append一次次添加的话需要操作97次,但是我们使用循环,则可以事半功倍。如下所示:
test=[1,2,3]
for i in range(4,101):
test.append(i)
当我们需要重复性的做同一个事情的时候,我们可以考虑使用循环解决,在python中我们可以使用for循环和while循环,接下来我们就来了解一下这两个循环吧。
二、for循环
for循环可以遍历字符串、列表、元组等所有序列,访问其中的每一个元素。for循环语法如下所示:
for iterating_var in sequence: statements(s) 以遍历列表test=[1,2,3]为例 >>> for i in test: >>> print(i) >>> 1 >>> 2 >>> 3 >>> 4
说到for循环,在平时项目实战中应用得最多的数据结构就是列表和字典。以下是我在实战中常用遍历应用示例:
- 1、遍历列表元素,并且输出元素所在列表索引
>>> test_list = ["python","c++","PHP"] >>> index = 0 >>> for t in test_list: ... print(index, t) ... index += 1 ... 0, 'python' 1, 'c++' 2, 'PHP'
这是一种常规的遍历方式,还可以使用python内置函数enumerate,让代码更加的pythonic。>>> test_list = ["python","c++","PHP"] >>> for index,value in enumerate(test_list): ... print(index,value) ... 0, 'python' 1, 'c++' 2, 'PHP'
- 2、遍历字典,输出字典输出字典的key和value
>>> test_dict = {"a":"a","b":"b","c":"c"} >>> for key in test_dict: ... print(f"key:{key},value:{test_dict[key]}") ... ... key:a,value:a key:b,value:b key:c,value:c使用字典内置方法items(),同时输出字典的键、值,更具pythonic。>>> test_dict = {"a":"a","b":"b","c":"c"} >>> for key,value in test_dict.items(): ... print(f"key:{key},value:{value}") ... key:a,value:a key:b,value:b key:c,value:c - 3、给列表中的每一个元素加1,生成新列表
利用列表表达式,遍历test列表的每一个元素并且加1,生成新列表>>> test = [1,2,3] >>> new_test = [t+1 for t in test] >>> new_test [2, 3, 4]
- 4、字典嵌套列表,输出字典健和列表内元素
使用for循环嵌套,遍历字典与字典内列表元素>>> test_dict = {"a":[1,2,3],"b":["python","c++","PHP"]} >>> for key,value in test_dict.items(): ... print(f"key:{key}") ... for i in value: ... print(f"list value::{i}") ... key: a list value: 1 list value: 2 list value: 3 key: b list value: python list value: c++ list value: PHP
三、while
while循环是条件循环,一般用于在某种条件下,循环执行一段相同任务。基本语法如下所示:
while 判断条件(condition):
执行语句(statements)…… - while循环用画出三角形
初始化index,当index小于7时,输出index个,index+1,直到index大于7,逻辑结束
index = 1
while index < 7:
print("*"*index)
index +=1
结果如下:
*
**
***
****
*****
****** - 无限循环
当条件为true,循环会永无止境的循环下去。
index = 1
while True:
print(index)
index +=1
结果如下,无穷无尽输出:
1
2
3
... - continue、break、else
while循环中经常搭配continue、break、else一起使用,当然,也不仅仅只能在while语句中使用,for循环也是一样的shi'yong,continue用于跳出本次循环,break则是用于退出循环,else用于while条件外,具体我们通过以下代码讲解吧。简单账号密码登录,最多输错3次,3次以内提示密码错误和剩余机会 i = 0 while i <= 2: account = input('账号:') password = input('密码:') if account == "qhl" and password == "aixocm": print('登陆成功') break else: print('账号或密码错误') print('您还有%d次机会' %(2-i)) i = i + 1 else: print('账号或密码错误超过三次,请稍后再试')