鱼C论坛

 找回密码
 立即注册
查看: 12387|回复: 62

[技术交流] 009讲。了不起的分支与循环3

[复制链接]
发表于 2015-8-28 21:21:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 醉酒青牛 于 2017-8-28 16:39 编辑

本期主要内容导读:
亲爱的鱼油们,大家好,我是小牛,这一期我们归纳一下鱼神第九讲了不起的分支与循环3。这一期里面鱼神主要讲了在Python中的while循环和for循环,重点介绍了for循环的用法并介绍了for循环里面经常使用的一个内置函数range(),最后介绍了终止循环的两个语句break和continue的用法和区别,下面我们就来详细介绍一下各个知识点吧归~~~~~~
1.while循环
其基本形式是      while 条件:
                                  循环体
例如下面的代码,while循环中首先判断条件是否成立,成立则执行循环体,然后再次判断条件是否成立,如此循环下去直到条件不成立
  1. i = 0      
  2. while i<3:       # 条件是i的值小于3,当满足此条件时循环体会一直被执行下去
  3.         print(i,end=' ')          #循环体,打印出i的值
  4.         i += 1
复制代码
           #循环体,i的值每循环一次自身加1
则打印到屏幕 0 1 2
2.for循环
在Python中for循环又叫计数器循环,其功能非常强大,能够自动调用迭代器的next方法并自动获取stop iteration异常并结束循环。for语句的形式为:
for 目标 in 表达式:
        循环体
在这里,目标指的的每次迭代的变量的值,表达式一般是序列(字符串,列表,元组等),下面以几个例子来说明for循环的用法:
  1. favorite = "FishC"            #favorite为一个字符串变量
  2. for i in favorite:                          #i 为每次迭代的变量
  3.         print(i,end=' ')
复制代码
       #循环体
则打印出来 F i s h C         
  1. member =['小甲鱼','小布丁','黑夜','醉酒青牛']                 #member是一个列表变量
  2. for each in member:                                                      #each是一个迭代变量
  3.         print(each,len(each),end=' ')
复制代码

则打印出  小甲鱼 3 小布丁 3 黑夜 2 醉酒青牛 4
3.range()内置函数
生成一个数字序列的内置函数,经常作为for循环的表达式存在,其形式是range([start,] stop [step=1])
中括号内的值表示可选项,range()函数有3个参数,start表示数字起始值,stop表示结束值且不包含该值,从start到stop为一个等差数列,默认等差数列的公差是step等于1. 例如 list(range(3))的值为[0,1,2] list(range(1,3))值为[1,2]而list(range(0,3,2))的值为[0,2]。如果step值为负时,则start的值必须大于stop,例如list(range(3,1,-1))的值为[3,2]
最后举一个for循环中使用range()函数的例子:
  1. for i in range(3):
  2.         print(i,end=' ')
复制代码

则打印出 0 1 2
[b]4.break和continue语句[/b]
Python中在循环体内也可以终止循环,这个语句就是break和continue,不同的是break是结束所在循环,continue是结束本轮循环并判断循环条件。下面分别举一个例子说明。
break语句例子:执行break之后,直接跳出循环,因此程序中只要输入“小甲鱼是帅哥”整个循环即结束
  1. bingo = "小甲鱼是帅哥"
  2. while True:
  3.         answer = input("请输入小甲鱼最想听到的一句话:")
  4.         if answer == bingo:
  5.                 break                                                          #直接退出循环
  6.         answer=input("抱歉,猜错了,请重新输入:")
  7. print("哎,帅哦")
  8. print("您真是小甲鱼肚子里的蛔虫啊!")
复制代码

continue的语句:  执行continue语句后,则不再执行循环体内剩下语句,直接到循环条件判断是否继续循环:
  1. for i in range(5):
  2.         if i%2 !=0:
  3.                 print(i,end=' ')
  4.                 continue              #执行此语句后,后面的语句不再执行,而是回到循环体条件判断处   
  5.         i += 2
  6.         print(i,end=' ')
复制代码
则打印出 2 1 4 3 6
       

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-8-28 22:04:38 | 显示全部楼层
坐等更新,坐等break和continue的复习!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-28 22:43:17 | 显示全部楼层
John_farmer 发表于 2015-8-28 22:04
坐等更新,坐等break和continue的复习!

感谢支持,哈哈,一起进步:handshake

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
zooo + 1 + 1 感谢楼主无私奉献!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-28 22:44:06 | 显示全部楼层
John_farmer 发表于 2015-8-28 22:04
坐等更新,坐等break和continue的复习!

感谢支持,哈哈,一起进步:handshake
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-29 10:36:46 | 显示全部楼层
又复习了一遍break和continue语句,很有加强记忆的帮助!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-29 11:45:15 | 显示全部楼层
John_farmer 发表于 2015-8-29 10:36
又复习了一遍break和continue语句,很有加强记忆的帮助!

:handshake:handshake  ^_^,加油哟
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-29 14:58:23 | 显示全部楼层

加油!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-1 11:33:59 | 显示全部楼层
我刚看完视频,和总结对比,总结到位,无歧义。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-1 12:31:06 | 显示全部楼层
D:\小甲鱼python课堂>python python_09_exercise.py
  File "python_09_exercise.py", line 6
    print(i,end=' ')
               ^
SyntaxError: invalid syntax

报错哎!是怎么回事呢?

# -*- coding: utf-8 -*-
i = 0

while i < 3:
        print(i,end=' ')
        i += 1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-1 13:30:47 | 显示全部楼层
lengyudu 发表于 2015-9-1 11:33
我刚看完视频,和总结对比,总结到位,无歧义。

感谢lengyudu支持,小牛会继续努力的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-1 13:35:26 | 显示全部楼层
ruiping 发表于 2015-9-1 12:31
D:\小甲鱼python课堂>python python_09_exercise.py
  File "python_09_exercise.py", line 6
    print( ...

ruping,你是否是直接将代码黏贴到IDLE里面去的?
自己逐行输进去的话是不会报错的。例如:
>>> i =0
>>> while i < 3:
           print(i,end='')
           i += 1

       
012
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-2 09:16:57 | 显示全部楼层
青牛:
我是一行一行敲的,执行的时候报这个错。
另还有个问题就是,print的时候,print一个end=''是啥意思和作用呢?
谢谢解答!

执行这个file的时候,报的是个语法错误

执行这个file的时候,报的是个语法错误
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-2 11:47:44 | 显示全部楼层
ruiping 发表于 2015-9-2 09:16
青牛:
我是一行一行敲的,执行的时候报这个错。
另还有个问题就是,print的时候,print一个end=''是啥意 ...

>>> help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
   
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.
end是用来定义打印字符串后,下次打印的字符串和上一次的位置关系,默认是'\n'代表换行,如果我们定义为end=' '表示第二次打印时仅在第一次打印内容空一格打印
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-2 14:24:35 | 显示全部楼层
>>> help(print)
SyntaxError: invalid syntax
>>> help(print)
SyntaxError: invalid syntax

我的IDLE是不是有问题呢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-2 16:04:58 | 显示全部楼层
ruiping 发表于 2015-9-2 14:24
>>> help(print)
SyntaxError: invalid syntax
>>> help(print)

不行你就卸了吧,重新从官网上下载一个得了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-2 20:58:16 | 显示全部楼层
楼主,你会一直总结下去的吧?如果这样的话,我会一直追贴哒
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-2 22:09:38 | 显示全部楼层
半夏忧 发表于 2015-9-2 20:58
楼主,你会一直总结下去的吧?如果这样的话,我会一直追贴哒

这个是我目前所做的1-14讲的内容链接http://bbs.fishc.com/forum.php?m ... n=view&ctid=252
半夏忧可以点击右上角的订阅按钮,以后就可以看到后续的更新了,而且后续一定会持续更新的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-4 10:31:56 | 显示全部楼层
ruiping 发表于 2015-9-2 14:24
>>> help(print)
SyntaxError: invalid syntax
>>> help(print)

ok,多谢楼主
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-7 16:56:10 | 显示全部楼层
赞一个·····{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-7 20:38:34 | 显示全部楼层

欢迎多提问题和意见哦,一起进步。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-20 03:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表