python按键退出循环_Python基础语法——循环

本文详细介绍了Python中的循环语句,包括For循环用于绘制正方形的例子,讲解了range()函数的不同用法。此外,还讨论了While循环的使用,包括如何通过条件控制循环次数和无限循环的退出。最后提到了循环中的嵌套循环,并通过九九乘法表的例子进行了演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我们编程的过程中,有些代码是需要不停的重复执行的,而计算机特别擅长做这些重复的工作。

我们使用循环,循环可以不停地重复执行一段代码,一遍又一遍的执行,直到循环结束。一、For循环

假如我们想要利用海龟绘制一个宽度为100像素的正方形

分析:海龟从原点开始,利用turtle.forward(100)向前绘制一段100像素的线段,然后利用turtle.left(90)开始左转90°,至此正方形的一条边绘制完成;

重复第一条指令;

重复第一条指令

重复第一条指令,这样海龟回到了原点,正方形的4条边绘制完成。

代码:

import turtle as t

# 第一条边

t.fd(100) # 前进100像素

t.lt(90) # 左转90°

# 第二条边

t.fd(100)

t.lt(90)

# 第三条边

t.fd(100)

t.lt(90)

# 第四条边

t.fd(100)

t.lt(90)

程序重复执行了t.fd(100)和t.lt(90)这两段代码,重复的代码执行了4次。

使用for循环:

import turtle as t

for x in range(4):

t.fd(100)

t.lt(90)

Python中的for循环会遍历一个列表中的各项,这里绘制正方形,需要重复4次,所以需要创建一个包含4个数字的列表。

range(n):

range(n)创建一个包含n个数字,从0到n-1的数字列表

例如range(4)创建的列表为[0,1,2,3],是一个0到3的4个数字的一个列表。

list = list(range(4))

print(list)

结果:

[0, 1, 2, 3]

range(start,stop):

range(1,10)有两个参数,1是开始的值,10是结束的值,会从开始值到结束值创建一个数字列表(迭代器),但不包括结束值10

代码:

list = list(range(1,10))

print(list)

结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

range(start,stop,step):

range(0,10,2)包含3个参数,第三个参数是步长,控制数字每次增加2

代码:

list = list(range(0,10,2))

print(list)

结果:

[0, 2, 4, 6, 8]

for循环中,首先要有关键字for,然后一个变量x,变量x是一个计数器/迭代器,关键字in告诉for循环,使用变量x来遍历范围列表中的每一个数值,range(4)提供一个0到4的列表[0,1,2,3],可以用来遍历,循环体语句要缩进4个空格。

注意:for循环语句最后的冒号":"不能少

range(4)构建了一个含有4个数字的列表,变量x就会记录循环体重复执行4次,当遍历完了列表中的所有数字后,循环就终止了。二、while循环

如果我们不确定循环要执行多少次,如果我们想要在某个事件发生的时候,要终止循环,这时候该怎么办?

这时候我们可以使用另外一种循环——while循环。

while循环只需要一个循环条件,只有满足这个条件,程序才可以执行,不满足这个条件,程序就不执行。

代码:

while condition: # 循环条件

indented statement(s) # 循环体语句

while循环中这个条件通常是一个判断真假的布尔表达式,或是一个真假测试(True/False)。

while循环中,只要条件为真,while循环就会持续重复循环中的语句,判断真假条件往往涉及到比较值。

比较操作符:

x = 1

while x < 10:

x = x +1 # 循环体

print(x)

定义了一个变量x,初始值为1,while循环的条件x < 10,只要x的值小于10,就执行x=x+1这个语句,循环体重复执行9。

x = 1 x < 10 满足条件 执行x=x+1语句,x+1为2,赋值给x,x=2

x = 2 x < 10 满足条件 执行x=x+1语句,x+1为3,赋值给x,x=3

x = 3 x < 10 满足条件 执行x=x+1语句,x+1为4,赋值给x,x=4

x = 4 x < 10 满足条件 执行x=x+1语句,x+1为5,赋值给x,x=5

x = 5 x < 10 满足条件 执行x=x+1语句,x+1为6,赋值给x,x=6

x = 6 x < 10 满足条件 执行x=x+1语句,x+1为7,赋值给x,x=7

x = 7 x < 10 满足条件 执行x=x+1语句,x+1为8,赋值给x,x=8

x = 8 x < 10 满足条件 执行x=x+1语句,x+1为9,赋值给x,x=9

x = 9 x < 10 满足条件 执行x=x+1语句,x+1为10,赋值给x,x=10

x = 10 x < 10 不满足条件 不在进入循环体,跳出来了,最后打印x值三、无限循环

当条件一直为真的时候,循环程序就会一直重复的运行。

while True:

print("条件为真!")

我们把循环的条件设置为一个固定的值:True(真),这就是一个无限循环程序,程序一直打印“条件为真!”,直到你退出程序才会终止。

逃离无限循环:

continue关键字跳出当前循环,在循环体内部有多层循环,continue可以跳出当次循环,继续执行下一次循环

break关键字可以跳出整个循环

使用break:

x = 1

while x < 10:

x = x + 1

if x == 5: # 如果x=5,就跳出循环

break

print(x)

分析:

x = 1 x < 10 满足条件 执行x=x+1语句,x+1为2,赋值给x,x=2 不满足条件x==5

x = 2 x < 10 满足条件 执行x=x+1语句,x+1为3,赋值给x,x=3 不满足条件x==5

x = 3 x < 10 满足条件 执行x=x+1语句,x+1为4,赋值给x,x=4 不满足条件x==5

x = 4 x < 10 满足条件 执行x=x+1语句,x+1为5,赋值给x,x=5

同时满足条件x==5,执行break,跳出循环,程序终止,打印出5

使用continue:

x = 1

while x < 10:

x = x + 1

if x == 5: # 如果x=5,跳过,继续执行

continue

print("x = %d" % x)

结果:

x = 2

x = 3

x = 4

x = 6

x = 7

x = 8

x = 9

x = 10

分析:

x = 1 x < 10 满足条件 执行x=x+1语句,x+1为2,赋值给x,x=2 不满足条件x==5 打印x = 2

x = 2 x < 10 满足条件 执行x=x+1语句,x+1为3,赋值给x,x=3 不满足条件x==5 打印x = 3

x = 3 x < 10 满足条件 执行x=x+1语句,x+1为4,赋值给x,x=4 不满足条件x==5 打印x = 4

x = 4 x < 10 满足条件 执行x=x+1语句,x+1为5,赋值给x,x=5 满足条件x==5 跳过print("x = %d" % x)语句

x = 5 x < 10 满足条件 执行x=x+1语句,x+1为6,赋值给x,x=6 不满足条件x==5 打印x = 6

x = 6 x < 10 满足条件 执行x=x+1语句,x+1为7,赋值给x,x=7 不满足条件x==5 打印x = 7

x = 7 x < 10 满足条件 执行x=x+1语句,x+1为8,赋值给x,x=8 不满足条件x==5 打印x = 8

x = 8 x < 10 满足条件 执行x=x+1语句,x+1为9,赋值给x,x=9 不满足条件x==5 打印x = 9

x = 9 x < 10 满足条件 执行x=x+1语句,x+1为10,赋值给x,x=10 不满足条件x==5 打印x = 10

x = 10 x < 10 不满足条件 不在进入循环体,跳出来了,程序终止

在程序执行到x=4时,满足条件x<10,进入循环体,执行x=x+1,变成5,满足条件x==5 执行continue语句,跳过print("x = %d" % x)语句,继续执行条件判断x<10。四、循环里面的循环

我们可以在一个循环体里面增加一个循环,即嵌套循环。在一个嵌套循环中,里面的循环在外部循环之内运行。

注意:循环体内部的代码必须要缩进4个空格

for x in range(3): # 外部循环

for y in range(2): # 内部循环

print("我是内部循环")

print("我是外部循环\n")

外部循环执行3次,内部循环执行2次。

一:

外部循环变量x=0:内部循环变量y=0,执行print("我是内部循环")

内部循环变量y=1,执行print("我是内部循环")

外部循环执行print("我是外部循环\n")

二:

外部循环变量x=1:内部循环变量y=0,执行print("我是内部循环")

内部循环变量y=1,执行print("我是内部循环")

外部循环执行print("我是外部循环\n")

三:

外部循环变量x=2:内部循环变量y=0,执行print("我是内部循环")

内部循环变量y=1,执行print("我是内部循环")

外部循环执行print("我是外部循环\n")

整个内嵌的for循环是被包在外部for循环里面的,外部循环每执行一次,内部循环就会执行两次。这样外部循环一共执行3次,内部循环一共执行6次。

我是内部循环

我是内部循环

我是外部循环

我是内部循环

我是内部循环

我是外部循环

我是内部循环

我是内部循环

我是外部循环

案例:

打印九九乘法表

for i in range(1,10):

for j in range(1,i+1):

print("%d*%d=%d\t" % (j,i,j*i),end = "")

print("")

%d是一个占位符,%t表示一个空档,相当于按了键盘上的Tab按键。

end=""可以让输出不会自动分行,关键字end告诉程序用一个空格来结束每一条print()语句。

谢谢大家的关注,有不足的地方欢迎指正。

更多内容可以关注微信公众号【陪孩子一起学编程】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值