鱼C论坛

 找回密码
 立即注册
查看: 3474|回复: 17

[学习笔记] Python学习笔记15(1)-----循环语句 New!

[复制链接]
发表于 2020-8-2 13:54:36 | 显示全部楼层 |阅读模式

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

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

x
记得给个好评鼓励一下哦QWQ


我们来看一下如果用 while 循环 怎么写:

  1. i = 0
  2. while i < 3:
  3.   print(i)
  4.   i = i + 1
复制代码



                               
登录/注册后可看大图


从上图可以看出,while 循环由 循环条件 和 循环体 两部分组成。

  1. 当然,我们不会傻傻地把循环条件写成 True(除非有意而为之,后面会介绍),更多的是因为粗心写错了,导致 循环条件 永远为 True。比如:

  2. i = 0
  3. while i < 3:
  4.   print(i)
  5.   # 此处我们不小心漏掉了 i = i + 1
复制代码


上面的例子中因为漏掉了 i = i + 1,导致 i 的值一直为 0,一直满足 i < 3 的循环条件。这就导致了我们的程序进入了 死循环!

死循环 其实是一件很可怕的事情,它使我们的程序不受控制,永无止境地做着无意义的循环。这会造成后续代码无法执行,甚至会导致 CPU 占用过高电脑死机等情况。


编写 while 循环时需要遵循一定的规范,切记:

循环条件后要有英文冒号;
循环体前要有统一的缩进;
要控制好循环条件,避免写出死循环。


如果生活里遇到死循环,也可以按下 Ctrl + C 跳脱出来就好了


                               
登录/注册后可看大图


拓展:遍历 在计算机中指沿着某条路线,依次对序列中每个元素均做一次且仅做一次访问。

  1. for i in [1,2,3]:
  2.   i += 1
  3.   print(i)
复制代码

  1. 字符串、列表、元组等都属于 序列。我们来看几个例子对比一下:

  2. # 列表是序列
  3. for i in ['扇', '贝', '编', '程']:
  4.   print(i)
  5. # 逐行输出:扇 贝 编 程

  6. # 元组也是序列
  7. for i in ('扇', '贝', '编', '程'):
  8.   print(i)
  9. # 逐行输出:扇 贝 编 程

  10. # 字符串是一串字符的序列,也属于序列
  11. for i in '扇贝编程':
  12.   print(i)
  13. # 逐行输出:扇 贝 编 程

  14. # 整数不是序列
  15. for i in 123:
  16.   print(i)
  17. # 报错:TypeError: 'int' object is not iterable
复制代码

  1. 循环体内的代码可以只进行简单的运算,也可以复杂地进行各种判断、数据处理等,具体逻辑完全根据我们的需求定制。我们甚至还可以在循环中嵌套循环,比如下面这个打印“九九乘法表”的例子,看看你能理解吗?

  2. for i in range(1, 10):
  3.   for j in range(1, i + 1):
  4.     # \t 是制表符,用来对齐。end 默认是 \n,打印后会换行,end='' 可以防止换行
  5.     print(str(j) + '×' + str(i) + '=' + str(i * j) + '\t', end='')
  6.   # 打印完一行后换行
  7.   print('')

  8. # 输出:
  9. # 1×1=1
  10. # 1×2=2   2×2=4
  11. # 1×3=3   2×3=6   3×3=9
  12. # 1×4=4   2×4=8   3×4=12  4×4=16
  13. # 1×5=5   2×5=10  3×5=15  4×5=20  5×5=25
  14. # 1×6=6   2×6=12  3×6=18  4×6=24  5×6=30  6×6=36
  15. # 1×7=7   2×7=14  3×7=21  4×7=28  5×7=35  6×7=42  7×7=49
  16. # 1×8=8   2×8=16  3×8=24  4×8=32  5×8=40  6×8=48  7×8=56  8×8=64
  17. # 1×9=9   2×9=18  3×9=27  4×9=36  5×9=45  6×9=54  7×9=63  8×9=72  9×9=81
复制代码



未完待续~


本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-2 20:51:09 | 显示全部楼层
学习了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 21:53:49 | 显示全部楼层
有时候需要死循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 21:54:44 | 显示全部楼层
缩进四个空格,哪来的两个空格?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 21:56:07 | 显示全部楼层

回帖奖励 +1 鱼币

蹭运气
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-5 16:01:02 | 显示全部楼层
蹭一蹭
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-5 22:07:44 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-14 21:26:26 | 显示全部楼层

回帖奖励 +1 鱼币

想顺便问一下,python的单双引号没有区别吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-14 22:36:57 | 显示全部楼层

回帖奖励 +1 鱼币

太棒啦
还有while ture之类得嘞
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-15 10:45:24 | 显示全部楼层
dan维 发表于 2020-8-14 21:26
想顺便问一下,python的单双引号没有区别吗

嗯 是一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-15 10:48:11 | 显示全部楼层
dan维 发表于 2020-8-14 21:26
想顺便问一下,python的单双引号没有区别吗

就是不要混着用哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-15 17:26:23 | 显示全部楼层

好的,谢谢喽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-16 09:38:45 | 显示全部楼层
打印完一行后会换行是end执行结果吗,还有就是乘法表中俩式子之间的空格是怎么出来的,求解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-16 09:41:47 | 显示全部楼层
想起来了,,,for i in range就是加空格,,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-16 20:44:44 | 显示全部楼层
大执法官 发表于 2020-8-16 09:41
想起来了,,,for i in range就是加空格,,,

???
我没看懂你的意思能具体说说吗

上面那个问题回答 :

Print 后面要是啥也没有 就是默认换行符
要是注明了end =空
就是防止换行

i = 5
j = 5
print
print(str(j) + '×' + str(i) + '=' + str(i * j) + '\t', end='')
print(666)


i = 5
j = 5
print
print(str(j) + '×' + str(i) + '=' + str(i * j) + '\t')
print(666)

你把这两个代码运行一下就能看出来区别了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-17 09:09:52 | 显示全部楼层
极品召唤兽 发表于 2020-8-16 20:44
???
我没看懂你的意思能具体说说吗

谢谢解惑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-17 21:00:12 | 显示全部楼层

额..你那个加空格是啥意思??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-18 20:27:15 | 显示全部楼层
极品召唤兽 发表于 2020-8-17 21:00
额..你那个加空格是啥意思??

就是两个式子中间的空格,,不是for i in range循环语句插入的吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 07:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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