XX学Python·for
-
for循环时遍历数据序列,每次获取一个元素,直到元素全部被获取,结束循环。
# for循环的语法结构 """ for 临时变量 in 数据序列(容器): 要重复执行的代码 """ # 循环逻辑:for循环会依次提取数据序列中的元素,每次提取一个,放入临时变量中储存 # 在循环体中可使用临时变量,数据序列中有多少个元素,for循环的循环体将会被执行多少次 str1 = 'helloPython' # 循环遍历str1 遍历:依次提取每一个元素 for i in str1: print(i)
-
for循环和while循环的区别
-
for循环数据序列,元素提取完成自动停止,不需要使用循环变量
-
for循环不需要循环条件,所以也不会有循环条件成立喝不成立的说法
-
在开发中我们使用for循环的比例居多,while循环主要是构造死循环结构
-
循环需要配合容器类型(数据序列)进行使用
-
range(start,stop,[ step])
# range是一个整数序列,可迭代类型,可使用for进行遍历,但没办法直接输出。
# range(起始值,结束值,步长),含起始位置,不含结束位置,即区间为[起始值,结束值)。
for i in range(1, 10):
print(i) # 输出1,2,3...9。每个数都换行
print(type(range(1,10)))#类型是 <class 'range'>
# 怎样一次打印range中的所有元素啦?用list
print(list(range(0, 5, 1))) # 结果为[0,1,2,3,4]
print(list(range(0, 5))) # 步长可省略,默认为1.结果同上
print(list(range(5))) # 若起始位置是0则可省。起始位置省,步长也必省。结果同上
print(list(range(10, 3, -1))) # 步长可为负数,结果[10, 9, 8, 7, 6, 5, 4]
-
for循环小案例
# 求1-100的累加和 sum1 = 0 for i in range(1, 101): sum1 += i print(f'1-100的累加和为{sum1}') # 求1-100的偶数累加和 sum1 = 0 for i in range(1, 101): if i % 2 == 0: sum1 += i print(f'1-100的偶数累加和为{sum1}')
-
for循环里的break和continue
# break 打破循环,后续不在执行
str1 = 'itheima'
for i in str1:
if i == 'e':
print('遇到e了,结束循环')
break
print(i)
# continue跳出本次循环,进入下一次循环,不会影响循环次数
str1 = 'itheima'
for i in str1:
if i == 'e':
print('遇到e了,进入下一次循环')
continue
print(i)
'''
案例:用for循环实现用户登录
① 输入用户名和密码
② 判断用户名和密码是否正确(username='admin',password='admin888')
③ 登录仅有三次机会,超过3次会报错
'''
# 循环3次
for i in range(3):
# 获取用户名和密码
username = input('请输入用户名:')
password = input('请输入密码:')
# 比对用户名和密码
if username == 'admin' and password == 'admin888':
print('登录成功')
break
else:
print('用户名或密码错误')
if i == 2:
print('3次机会用完,账号被冻结')
for循环嵌套
# 用for循环写九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(F'{j} * {i} = {i*j}', end='\t')
print()
循环中的else
-
如果循环正常结束,则执行else中的代码,如果循环异常结束,不执行else中的代码
-
break 可以打破循环造成循环异常结束,continue不会造成循环异常结束
''' while 循环条件: 条件满足循环执行的代码 else: 条件不成立执行的代码,执行后循环结果终止 ''' ''' for 临时变量 in 数据序列(容器): 循环执行的代码 else: 所有元素遍历完成后执行的代码 '''