像while循环一样,for可以完成循环的功能。
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for循环的格式
for 临时变量 in 列表或者字符串等可迭代对象:循环满足条件时执行的代码
demo1:for循环遍历字符串
name = 'wangyue'for x in name:print(x)
运行结果如下:
wangue
demo2:for循环结合if使用
>>> for x in name:print(x)if x == 'a':print("Hello world!")
运行结果如下:
wHello world!ngue
demo3:for循环结合range的使用
range表示一个数据范围,也就是在这个范围里边可能有多个数据,range也属于是容器类型
range语法格式:range(开始数据,结束数据,步长) 不包含结束数据,步长不指定默认是1。开始数据不指定,默认是0
# range(5) 会牵扯到迭代器的知识# 作为刚开始学习python的我们(请从前往后看文档),此阶段仅仅知道range(5)表示可以循环5次即可-for i in range(5): # [0,3)print(i)'''效果等同于 while 循环的:i = 0while i < 5:print(i)i += 1'''
运行结果如下:
01234
如果遍历的数据使用不到,可以使用_(下划线)占位。
for _ range(3):print("哈哈")
步长值可以为负值:
for num in range(3,0,-1):print(num) # 3 2 1
for循环结合else语句的使用
while 条件:执行相关的代码else:循环正常结束的时候会执行else语句(当循环语句里边没有执行break这个语句,那么else就会执行)
for 临时变量 in 要遍历的数据:执行相关的代码else:循环正常结束的时候会执行else语句(当循环语句里边没有执行break这个语句,那么else就会执行)
🈚那么什么叫循环正常结束?
循环语句里边没有执行break这个语句
🈶那么什么叫循环非正常结束?
循环语句里边执行了break这个语句
应用场景:
有这么一个需求:在指定字符串中查找对应的数据,如果找到了就把数据打印出来,没又找到就输出数据不存在。
my_str="abcdefg"value=input("请输入一个字符数据:")for char in my_str:if char==value:print("找到了这个数据,该数据为:",char)breakelse:print("该数据不存在")
