像while循环一样,for可以完成循环的功能。
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for循环的格式
for 临时变量 in 列表或者字符串等可迭代对象:
循环满足条件时执行的代码
demo1:for循环遍历字符串
name = 'wangyue'
for x in name:
print(x)
运行结果如下:
w
a
n
g
u
e
demo2:for循环结合if使用
>>> for x in name:
print(x)
if x == 'a':
print("Hello world!")
运行结果如下:
w
Hello world!
n
g
u
e
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 = 0
while i < 5:
print(i)
i += 1
'''
运行结果如下:
0
1
2
3
4
如果遍历的数据使用不到,可以使用_(下划线)占位。
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)
break
else:
print("该数据不存在")