🚩 WRITE IN FRONT 🚩
循环结构就是重复执行的一条或者若干个循环语句,就拿生活当中去举出一些例子,像一个项目一个工程我们必须要完成,那么这个你就可以理解是我们现在是在这个循环语句当中。当直到我们完成这个工程或者是项目的时候,此时,我们就可以脱离这个项目当中,那么这就叫做是循环。 在程序当中如果需要重复执行某段代码的时候,就可以使用 while 语句。while 条件语句,即在条件成立的情况下,就会重复执行某段程序。
示例语法如下 👇
while 条件语句:# 注意冒号
循环体
执行过程:判断条件是否为真(Ture),如果为真则执行循环体当中的内容。 执行完之后再次判断条件语句是否为真,如果为真的话那么就继续执行。如果条件语句为假的话则退出循环体为False。 一句话:为真→进、为假→出 ♐ 流程图如下↓
工作原理是:判断条件为真时的时候就进入循环体循环一次,直到判断条件不成立,为Flase时退出循环。
在说循环嵌套之前我们先在了解下print() 的使用。
我们都知道在默认的情况下使用 print() 会给我们自动换行。例如↓
print("*")
print("*")
此时的运行结果是这样的↓
* *
而不是这样:**
从这里就明确的说明了print() 会给我们自动换行。那假设我不想让它换行呢。有没有什么办法,那么肯定是有办法的。
如果不想给 print() 换行,我们只需要在print加上 end="" 即可。
print('*',end="")
print('*')
那有小伙伴就可能会说为什么第二个不用,因为第一个已经不换行了,你第二个当然会在第一个的后面啦。
运行结果:**
那么 end = "" 有没有用,肯定是有用的。例如↓
我们想要在上面的代码* 与 * 号之间加上Python,那么就可以这样。
print('*',end="Python")
print('*')
运行结果:*Python*
循环嵌套实际上就是while里面还有while这种就被称之为是循环嵌套。
形式如下↓
while 条件1:
条件1成立时执行语句
条件1成立时执行语句
条件1成立时执行语句
while 条件2:
条件2成立时执行语句
条件2成立时执行语句
代码示例如下↓
我们先用单个循环来试下如何打印下面⑤行的直角三角形。
# 单个循环
row = 1
while row < 6:
print('*' * row) # print有自动换行功能
row += 1
运行结果🖊
*
**
***
****
*****
真的是太妙了!如果是C语言来做的话肯定就要用到循环嵌套了。
那么接下来我们就来用循环嵌套做下这道题目,示例代码如下↓
row = 1 # 行
while row <= 5:
col = 1 # 列
while col <= row:
print('*',end="")
col += 1
print()
row += 1
运行结果🖊
*
**
***
****
*****
这个对于新手来说比较绕,多调试下看下步骤。
示例代码如下:👇
count = 1
number = 0
while count <= 100:
number += count # number = number + count
count += 1 # count = count + 1
print(number)
运行结果 👇 5050 当number变量为1的时候,执行判断语句 number<=100,判断的结果为真,则执行循环体语句当中的内容。然后 number = 1、count = 2、进入第一次循环,一次类推。最终当count为101的时候则退出循环体,开始打印number。 注意,在使用 while 循环时,一定要保证循环条件有变成假的时候,否则这个循环将成为一个死循环。所谓死循环,指的是无法结束循环的循环结构,例如将上面 while 循环中的count+ = 1代码注释掉,再运行程序你会发现,循环会一直的继续下去。因为你的循环判断条件永远都没有改变。没有计数器加加,那么就会一直死循环下去。
在Python中,如果需要循环依次取出列表、字符串、字典等对象中的每一个数据,那么推荐使用 for 循环是通过次数的大小来进行循环,通常我们会使用遍历序列或枚举以及迭代来进行循环。 流程图如下↓
在Python当中,可以使用for循环遍历所有非数字型的变量:列表、元组、字典以及字符串。
提示:在实际上的开发当中,除非能够确认元组当中的数据类型,不然针对元组的循环遍历的需求要求并不是很多。
那么有小伙伴可能会问为什么元组对于for语句的要求不是很多呢。示例代码如下↓
my_tuple = ("小明",18,2.50)
# 使用迭代遍历元素
for printf in my_tuple:
print(printf,end=" ")
运行结果🖊:小明 18 2.50
那么在这里杰斯下为什么for用于元组不适合↓
示例语法如下 👇
for 迭代变量 in 对象:
循环体
迭代变量在我们每一次循环中保存根据变量得到的值,对象既是有序的序列,可以是字符串、元组、列表,也可以是无序的序列,例如字典。而循环体则为一条或若干条会被重复执行的语句。
执行次数是由:列表、字符串、字典、元组中数据的个数来决定的。
在Python当中的for()循环还可以和else配合来进行使用,语法如下↓
for 变量 in 集合:
pass
循环体代码
# 注else后面+冒号(:)
else:
循环结束之后执行代码
注:如果for语句当中有break(退出循环)就不会执行else语句,还有一种情况就是死循环。
示例代码如下↓
for str in "Python":
pass
print(str,end="")
else:
print("结束end")
运行结果🖊
Python结束end
那么我们要不执行else语句当中的内容怎么办如下↓
for str in "Python":
pass
print(str,end="")
break
else:
print("结束end")
运行结果🖊
P
那么此时我们就只执行了①次for循环就退出了循环。
遍历就是从头到尾依次从列表当中获取数据。
迭代iterate是数学的专用术语,所谓的迭代就是重复遍历的意思。(从列表当中拿出一个又一个的元素) 我们想要进行迭代遍历的话是使用for,而不是使用while语句注意。
示例代码如下 👇
List = [1,2,3,4,5]
sum = 0
for i in List:
# 从列表当中依次获取数据
sum += i
print(sum)
运行结果 👇 15
需要注意两点↓ (1)→使用 for - in 循环,可以从列表中依次得到每一个元素,如第1次获取元素为1,第2次获取元素为2,最后一次获取元素为5。 (2)→求和操作,就是对取出的整形元素进行算数求和的过程。
range()函数是Python内置的函数,它被用于生成一系列连续的整数,它的语法格式为↓
range(start, stop, step)
如需循环一组代码指定的次数,我们可以使用 range() 函数,
range() 函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。
使用 range() 函数示例代码如下 👇
for x in range(10):
print(x)
运行结果 👇 0 1 2 3 4 5 6 7 8 9 注意:range(10) 不是 0 到 10 的值,而是值 0 到 9。这和下标的使用是一样的,新手很容易会误点这一点! range() 函数默认 0 为起始值,不过可以通过添加参数来指定起始值:range(2, 10),这意味着值为 2 到 10(但不包括 10)也就是 2~9
for x in range(3, 10):
print(x)
运行结果 👇 3 4 5 6 7 8 9
那么我们要让每一次结果递增 3,该怎么办呢?如下代码所示↓
for x in range(0, 20, 3):
print(x)
运行结果 👇 0 3 6 9 12 15 18
Python 当中的 pass 是空语句,pass 不做任何事情,一般用做占位语句,仅仅是为了保持结构的完整性。示例代码如下 ↓
for i in 'Python':
if i == 'P':
pass
print("pass")
print('当前字符是:',i)
print("END")
运行结果↓ pass 当前字符是: P 当前字符是: y 当前字符是: t 当前字符是: h 当前字符是: o 当前字符是: n END