【Python基础】7. for循环 & while循环

本篇笔记知识点:

  • for循环
  • while循环
  • 循环控制语句: - break 语句; - continue 语句; - pass 语句

循环语句

循环这种概念很重要,因为它是让计算机自动完成重复工作的常见方式之一。

编程语言提供了各种控制结构,允许更复杂的执行路径。

循环语句允许我们执行一个语句或语句组多次

在Python中,有两种循环: for循环while循环:

  • 两者的相同点在于都能循环做一件重复的事情;
  • 不同点在于,for循环是在序列穷尽时停止,while循环是在条件不成立时停止。

</br>

for循环

在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
遍历 - 对每个元素执行相同的操作,通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次.

  • for循环的流程图:


    for 循环.jpg

- for循环的基本结构如下:

for 临时变量 in 列表或者字符串等可迭代对象:
    循环满足条件时执行的代码

for...in是Python程序员使用最多的语句,for 循环用于迭代容器对象中的元素,这些对象可以是列表、元组、字典、集合、文件,甚至可以是自定义类或者函数,例如:

  1. 作用于列表
  2. 作用于元组
  3. 作用于字符串
  4. 作用于集合
  5. 作用于字典
  6. 作用于文件

代码:

# 1.for循环遍历列表
Fruits=['apple','orange','banana','grape']
for fruit in Fruits:
    print(fruit)
print("结束遍历")
# 2. 遍历字符串
for str in 'abc':
    print(str)
 # 3. 遍历字典:   
 for key,value in {"name":'Kaina',"age":22}.items():
    print("键---"+key)
    print("值---"+str(value))
 # 4. 遍历文件
 for content in open("D:\\test.txt"):
    print(content)

for循环和range

for x in range(1,5):
    print(x)
print("注意:打印0-5的范围内的数,不会包括5")

for x in range(1,5,2):
    print(x)
print(1)
print("三个参数:起始位置(默认0),结束位置(不包含),步长(默认为1,可以为负数)")

for x in range (5,1,-2):
    print(x)


While 循环语句

while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

当判断条件假false时,循环结束。

执行流程图如下:


while循环.jpg

while循环的基本结构如下:

 while 条件:
        条件满足时,做的事情1
        条件满足时,做的事情2
        条件满足时,做的事情3
        ...(省略)...

例:

 i = 0
    while i < 5:
        print("当前是第%d次执行循环" % (i + 1))
        print("i=%d" % i)
        I+=1

运行结果:

当前是第1次执行循环
    I=0
    当前是第2次执行循环
    I=1
    当前是第3次执行循环
    I=2
    当前是第4次执行循环
    I=3
    当前是第5次执行循环
    I=4

无限循环

我们可以通过设置条件表达式永不为False达到无限循环,例如:

#1.死循环
I=1
while I<9:
    print(str(i)+"只羊")

#2.使用一个自增变量来约束条件
I=1
while I<4:
    print(str(i)+"只羊")
    # 需要一个变量来约束while中的条件
    I+=1
  • 可以使用CTRL +C退出当前的无限循环。
  • 无限循环在服务器上客户端的实时请求非常有用。

循环语句的控制语句:   break, continue

continue:当前这次的循环跳出,继续下一个循环
break:跳出当前整个循环

  • 在while循环中使用break关键字
I=0
while True:
    I+=1
    if i==10:
        break
       #print("此内容无法打印!")
print("循环的次数为:"+str(i))

运行结果:循环的次数为:10
说明:使用break关键字,不在执行余下的代码并退出整个循环。

  • 在while循环中使用continue关键字:
number=0
while number<10:
    number+=1
    if number%2==0:
        continue
    print(number)

for...else 和 while..else

循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。

for...else
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

for num in range(10,20):  # 迭代 10 到 20 之间的数字
   for i in range(2,num): # 根据因子迭代
      if num%i == 0:      # 确定第一个因子
         j=num/i          # 计算第二个因子
         print '%d 等于 %d * %d' % (num,i,j)
         break            # 跳出当前循环
   else:                  # 循环的 else 部分
      print num, '是一个质数'

运行结果:

0 等于 2 * 5
11 是一个质数
12 等于 2 * 6
13 是一个质数
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一个质数
18 等于 2 * 9
19 是一个质数

while...else
在Python的while循环中会有whlie...else语句,其else语句只有在while正常结束时才会被执行,如果while循环被break语句结束,是不会执行else语句的。
即,在 python 中,while … else 在循环条件为 false 时执行 else 语句块:

var = 6
while var > 0:
   var = var -1
   if var == 3:             # 变量为 3 时跳过输出
    break
   print ('当前变量值 :', var)
else:
    print("Good bye!")

执行结果:

当前变量值 : 5
当前变量值 : 4
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,779评论 2 16
  • 碎片式学习是个骗局 今年是个人IP爆炸的一年。从年初开始,踏着互联网的浪潮,在朋友圈里开始疯传各种公众号的线上免费...
    牙牙呓语阅读 1,194评论 1 0
  • 不知为什么,他跟法比的交流冲动总是错位,法比来跟他谈话时,他恰恰在享受孤寂;而他从孤寂中出来,渴望跟法比交谈时,法...
    碎浪浪阅读 271评论 0 0
  • 1、窗口的方式 窗口的方式:层叠窗口、平铺、多窗格 2、窗口设计 对话框是另一个房间,去之前要有个好理由 把功能置...
    IreliaDE意志阅读 399评论 0 0
  • 天空中布满了密密麻麻的乌云,它们互相拥挤着,黑着脸。五分钟后,倾盆大雨就落下来了,它们打在我身上,马上就与我融为了...
    飞云夏阅读 1,051评论 10 4