python中有哪几种循环_Python基础------几种循环结构详解

Python基础------几种循环结构详解

在所有的编程语言中,循环结构是必不可少了,Python也一样。在python主要有一下几种循环结构:for…in…、while、range()三种最为常见。

7ccc767426fd616b28db81af923a7650.png

1.for…in…

该格式在python中是最为常见的一种格式,使用极为广泛。

格式:for 参数 in 循环体:

pass

上述格式中,可以做循环体的内容有很多,如元组、列表、字符串等等。只要可以遍历、可循环的的内容均可作为循环体存在。

其中的参数,主要是用来存放每次循环体送来的单个元素,实现循环的作用。在实际使用中,常和if判断语句联合使用。

#input

str_01 = '时间都去哪了!!!'

for i in str_01:

print(i)

#output

2.while

while循环和for…in…循环的不同之处在于,while要先将循环变量初始化或者直接使用while True 这种死循环形式。

格式:i = 0

while i >=10:

pass

i +=1

在我们平时使用中,这种格式使用频率,相比较于for…in…是比较低的。而对于while循环,最为常见的格式是:

格式:while True:

pass

该格式,在大部分项目中都会用到。

#input

while True:

print('hello world!!!__hello python!!!')

#output

hello world!!!__hello python!!!

hello world!!!__hello python!!!

hello world!!!__hello python!!!

hello world!!!__hello python!!!

hello world!!!__hello python!!!

hello world!!!__hello python!!!

hello world!!!__hello python!!!

hello world!!!__hello python!!!

hello world!!!__hello python!!!

.

.

.

.

.

.

3.range()

range()的使用主要是和for循环一起出现的。

range()的形式有三种:

range(stop) :默认从0开始,给出结束的int型参数即可

range(start,stop) :

range(start,stop,step)

上述中的stop参数,都是取不到的,结尾的参数为stop-1。这也是python的一大特点,我学习一个多月以来,所有用括号扩起来的循环或者取值,都是***左取右不取***

#input

for i in range(5):

print(i)

print('*'*10)

for x in range(1,7):

print(x)

print('*'*10)

for y in range(2,19,3):

print(y)

print('*'*10)

#output

0

1

2

3

4

**********

1

2

3

4

5

6

**********

2

5

8

11

14

17

**********

for循环搭配range()的形式,极为常见。如我们常见的九九乘法表,使用for循环和range()搭配的形式,就可以轻松完成。

九九乘法表——for循环搭配range()实现# 输入层数

#input

#九九乘法表,for循环++range()实现

a = int(input('请输入层数:'))

for i in range(1, 10):

for j in range(i, 10):

print('{}*{}={:<5d}'.format(i, j, i*j), end='')# 使用format格式化输出

print()

#output

请输入层数:9

1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9

2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18

3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27

4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36

5*5=25 5*6=30 5*7=35 5*8=40 5*9=45

6*6=36 6*7=42 6*8=48 6*9=54

7*7=49 7*8=56 7*9=63

8*8=64 8*9=72

9*9=81

4.循环中的else以及elif的使用

1) else

else 主要用于和 if 搭配使用。

格式:if 条件:

pass1

else:

pass2

上述格式中,如果if后面的条件成立(即为Ture)则运行pass1语句。条件不成立(即为flase),则运行else后面的pass2语句。

#input

salary = int(input('请输入你的工资:'))

if salary >=10000:

print('你的工资为{},恭喜你已经超过一线城市的平均水平'.format(salary))

else:

print("你的工资为{},加油,努力工资努力生活!!!".format(salary))

#output

请输入你的工资:12000

你的工资为12000,恭喜你已经超过一线城市的平均水平

2) elif

当出现的判断条件较多,我们需要进行较为精准的判断时,我们就需要使用elif来实现了。

格式:if 条件判断1:

elif 条件判断2:

elif 条件判断3:

else:

上述判断条件的执行顺序是:那个条件判断成立就执行那个后面的执行语句。若均不成立,这执行else后面的执行语句。

#input

age = 20

if age >= 6:

print('teenager')

elif age >= 18:

print('adult')

else:

print('kid')

#output

teenager

5.循环中的break和contiune

1) break

break的意思是:结束当前循环。

#input

i = 0

while i<10:

i+=1

if i==5: #当i=5时,结束整个循环

break

print("i=%d"%i)

#output

i=1

i=2

i=3

i=4

2)continue

意思为结束当前循环进入下一个循环

#input

i = 0

while i<10:

i+=1

if i==5: #当i=5时,结束当前循环进入下一个循环

continue

print("i=%d"%i)

#output

i=1

i=2

i=3

i=4

i=6

i=7

i=8

i=9

i=10

上面的循环中,当i = 5 时,不会执行contiune下面的语句,而是直接进入下一次循环。

6.python经典循环编程案例—绕圈圈面试题

当我们给定数值n = 5时,以下面的方式进行数据排列

37fe9e502dcd22bb59490c3b064ea164.png

解题思路:

21e9b8410abf8599425b227aaad262f0.png

①号转弯线的行索引与列索引总和为n-1;

②号转弯线的行索引与列索引相等;

③号转弯线的行索引等于列索引减1;

#input

def a_circle(SIZE):

array = [[0] * SIZE]

# 创建一个长度SIZE * SIZE的二维列表

for i in range(SIZE - 1):

array += [[0] * SIZE]

# 该orient代表绕圈的方向

# 其中0代表向下,1代表向右,2代表向左,3代表向上

orient = 0

# 控制将1~SIZE * SIZE的数值填入二维列表中

# 其中j控制行索引,k控制列索引

j = 0

k = 0

for i in range(1, SIZE * SIZE + 1):

array[j][k] = i

# 如果位于图4.2中①号转弯线上

if j + k == SIZE - 1:

# j>k,位于左下角

if j > k:

orient = 1

# 位于右上角

else:

orient = 2

# 如果位于图5.2中②号转弯线上

elif (k == j) and (k >= SIZE / 2):

orient = 3

# 如果j位于图5.2中③号转弯线上

elif (j == k - 1) and (k <= SIZE / 2):

orient = 0

# 根据方向来控制行索引、列索引的改变

# 如果方向为向下绕圈

if orient == 0:

j += 1

# 如果方向为向右绕圈

elif orient == 1:

k += 1

# 如果方向为向左绕圈

elif orient == 2:

k -= 1

# 如果方向为向上绕圈

elif orient == 3:

j -= 1

# 采用遍历输出上面的二维列表

for i in range(SIZE) :

for j in range(SIZE) :

print('%02d ' % array[i][j], end = "")

print("")

a = int(input("请输入一个整数:"))

a_circle(a)

#output

请输入一个整数:5

01 16 15 14 13

02 17 24 23 12

03 18 25 22 11

04 19 20 21 10

05 06 07 08 09

绕圈圈部分:由于个人初学写的代码逻辑比较乱,所有摘抄cui_yonghua大佬

原文链接:https://blog.csdn.net/Smileaway_/article/details/113862896

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当需要对多个变量进行循环时,可以使用双重for循环来实现。具体实现方法如下: ``` for var1 in range(num1): for var2 in range(num2): # 执行语句 ``` 其中,`var1`和`var2`为循环变量,`num1`和`num2`为循环次数。 例如,如果需要对两个列表进行排列组合,可以使用双重for循环实现: ``` list1 = ['a', 'b', 'c'] list2 = [1, 2, 3] for i in list1: for j in list2: print(i, j) ``` 输出结果为: ``` a 1 a 2 a 3 b 1 b 2 b 3 c 1 c 2 c 3 ``` 注意,在双重for循环中,内部循环的变量会在外部循环每次执行时都重新初始化。因此,在使用多重for循环时,需要仔细考虑每个循环变量的取值范围和初始化方式,以避免出现不必要的问题。 ### 回答2: Python中的双重for循环多变量可以用来遍历多维数组或多个列表。每个for循环可以定义一个变量,而双重for循环中的变量可以用于访问数组或列表中的元素。 双重for循环的语法如下: ``` for 变量1 in 序列1: for 变量2 in 序列2: 循环体 ``` 其中,变量1在外层循环中,变量2在内层循环中。通过双重for循环,可以遍历序列1中的每个元素,并在每次外层循环时遍历序列2中的每个元素。 例如,我们有一个二维数组matrix,可以使用双重for循环来访问每个元素: ``` matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] for row in matrix: for element in row: print(element) ``` 这样就会输出数组中的每个元素: ``` 1 2 3 4 5 6 7 8 9 ``` 在这个例子中,外层循环遍历了二维数组的每一行,而内层循环遍历了每一行中的元素。 通过双重for循环,我们可以更方便地对多维数组或多个列表进行遍历和操作,提高了代码的可读性和灵活性。 ### 回答3: Python中的双重for循环指的是在一个循环中嵌套另一个循环。每个循环都有自己的变量,可以进行独立的迭代。 多变量的for循环可以在处理多维数据时非常有用。例如,在处理二维数组时,我们可以使用两个变量分别表示行和列,以访问数组中的每个元素。 下面是一个简单的例子,演示了如何使用多变量的for循环来遍历一个二维数组: ```python matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] for row in matrix: for element in row: print(element) ``` 在上面的例子中,我们首先通过外部的for循环遍历每一行,然后通过内部的for循环遍历每一行中的元素。通过这种方式,我们可以依次输出数组中的每个元素。 和单个for循环一样,我们也可以在双重循环中使用其他流程控制语句,如break和continue。这些语句可以帮助我们根据具体需求来控制循环的执行。 总结来说,Python中的双重for循环多变量可以用于遍历多维数据结构,如二维数组。它可以通过外部循环和内部循环的嵌套来实现。在使用过程中,我们可以根据具体需求灵活运用其他流程控制语句。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值