07Python基础-循环

什么是循环?

循环顾名思义就是重复做某件事,在程序中就是让程序重复执行某段逻辑

为啥用循环?

在某个逻辑需要被多次执行时,人力完成费时费力,计算机可以利用循环去处理多次重复执行的逻辑,达到省时省力的目的。

如何使用循环?

python中循环语法常见的有两种

  • while循环机制,while循环也称之为条件循环
  • for循环

while循环

  • 语法:
while 条件:
	代码1
	代码2
	...
#执行循序:判断条件是否为真,如果是真 执行循环体 为假不进入循环

在这里插入图片描述

  • 举例1:打印3次hello csdn
i = 0
while i < 3:
	print("hello csdn")
	i = i + 1

举例2:验证登录时用户名密码是否在正确,不正确则重复输入

flag = True
while flag:
	username = input("请输入用户名")
	password = input("请输入密码")
	if username == "csdn" and password == "123":
		print("登录成功")
		flag = False
	else:
		print("账号或密码错误,请重新输入")
while循环嵌套
i = 1
while i <= 3:
    j = 1
    while j <= 3:
        print(i,j)
        j += 1
    i += 1
# 打印 1,2,3 三个数字两位的全排列
while 跳出循环

1)将条件置为False

# 形如上面的登录 当用户输入正确的账号和密码时  我们需要停止循环
n = True
u = "csdn"
p = "123"
while n:
	if u == "csdn" and p = "123":
		n = False # 将循环的条件置为假,达到结束循环的目的

2)利用break关键字停止循环

# 打印1,2,3,4
i = 1
while True:
	if i == 5:
		break;
	else:
		print(i)
		i += 1
while 和 break

ps:利用break停止嵌套while循环时,break会停止所在循环及之内的循环,如下当外层循环i == 3时会被break 此时内层的j也随之停止。

i = 1
while i <= 3:
    j = 1
    while j <= 3:
        print(i,j)
        j += 1
    i += 1
    if i == 3:
        break
#结果
#1 1
#1 2
#1 3
#2 1
#2 2
#2 3
while 和 continue

continue关键字表示停止当前次循环,继续下次循环
例如,我们在打印1到10的数字时 不想打印数字4,则有:

i = 0
while i < 10:
    i += 1
    if i == 4:
        continue
    else:
        print(i)
while 和 else

while else表示 当while循环正常循环结束后,执行else内的代码。所谓正常结束指的是不被break强制结束。
while else我们可以用来确认while循环是否正常结束

# 正常结束后,打印“以上是1到10的打印”
i = 1
while i <= 10:
	print(i)
	i += 1
else:
	print("以上是1到10的打印") 

# 被break,则不会打印“以上是1到10的打印”
i = 1
while i <= 10:
    print(i)
    i += 1
    if i == 4:
        break
else:
	print("以上是1到10的打印")
while 和 死循环

死循环指的是循环一直进行,没有停止,即循环条件一直为真

while True:
	print("条件一直为真")
while 练习

打印99乘法表

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(str(j) + " * " + str(i) + " = " + str(i * j),end = '\t')
        j += 1
    print()# 换行
    i += 1

# 1 * 1 = 1	
# 1 * 2 = 2	2 * 2 = 4	
# 1 * 3 = 3	2 * 3 = 6	3 * 3 = 9	
# 1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16	
# 1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25	
# 1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36	
# 1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49	
# 1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64	
# 1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81

for循环

即循环可迭代对象

  • 语法
#可迭代对象目前理解为包含多个值的类型
#运行原理:从可迭代对象中取出一个值给变量名,执行下面代码,然后又取出第二的值...直到值取完
for [变量名] in [可迭代对象]:  # 此时只需知道可迭代对象可以是字符串\列表\字典
    代码1
    代码2
    代码3
  • 举例
#例
for item in ['a','b','c']:
    print(item)
# 运行结果
a
b
c
# 参照例子来介绍for循环的运行步骤
# 步骤1:从列表['a','b','c']中读出第一个值赋值给item(item=‘a’),然后执行循环体代码
# 步骤2:从列表['a','b','c']中读出第二个值赋值给item(item=‘b’),然后执行循环体代码
# 步骤3: 重复以上过程直到列表中的值读尽

在这里插入图片描述

for 循环嵌套
a = [1,2,3]
b = [1,2,3]
for i in a:
	for j in b:
		print(i,j)
#打印 1,2,3 三个数字两位的全排列
for 跳出循环
  • 可迭代对象最后被取完:例如列表所有元素都被循环一遍即循环停止
  • break停止循环:循环体执行到break
for 和 break

和while相似,当循环逻辑中有break,则停止循环

for i in [1,2,3]:
	if i == 2:
		break
	else:
		print(i)
# 结果为1,当i为2时循环被停止
for 和 continue

和while相似,continue跳过当前次循环,继续下次循环

for i in [1,2,3]:
	if i == 2:
		continue
	else:
		print(i)
# 结果为
#1
#3
# 因为i为2的那次循环被跳过了,但是循环没停止
for 和 else

当for循环正常结束(即没有被break),则执行else内的代码块

### 无break
for i in [1,2,3]:
	print(i,end = '\t')
else:
	print("循环正常结束")
#输出为
#1	2	3
# 循环正常结束


### 有break
for i in [1,2,3]:
	if i == 2:
		break
	print(i)
else:
	print("循环正常结束")
#输出为
#1
for 和 range

当可迭代对象所需值很大时,我们不可能手写1K甚至1W和数值,此时可以用range()函数。

  • range(n):返回[0,n)区间整数
#打印1到10
for i in range(10):
	print(i+1) # range返回的范围是0开始到参数-1,所以此处要加1
  • range(n.m):返回[n,m)区间整数
for i in range(1,10):
    print(i)
for 和 range与len组合使用

len():可以统计长度, 我们可以配合 range, 循环出索引,然后通过索引取值

l = [111,222,333,444,555]
for i in range(len(l)):
    print(f"{i}:{l[i]}")
# 0:111
# 1:222
# 2:333
# 3:444
# 4:555
for 练习

打印99乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print(str(j) + " * " + str(i) + " = " + str(i * j),end = '\t')
    print()

for 循环与 while 循环的区别

  • 相同:
    都是循环, 循环做的事情两种方式都可以做, 主要看应用场景, 看哪个使用的更方便
  • 不同
    1.while 循环称之为条件循环, 循环的次数取决于条件何时变为假
    2.for 循环称之为遍历循环(取值循环等等), 循环的次数取决于 in 后面包含的值的个数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@nanami

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值