极品召唤兽 发表于 2020-8-2 13:54:36

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

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


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

i = 0
while i < 3:
print(i)
i = i + 1

https://s1.ax1x.com/2020/08/02/aJGnkn.jpg

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

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

i = 0
while i < 3:
print(i)
# 此处我们不小心漏掉了 i = i + 1

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

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

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

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

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

https://s1.ax1x.com/2020/08/02/aJ0qUS.jpg

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

for i in :
i += 1
print(i)

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

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

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

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

# 整数不是序列
for i in 123:
print(i)
# 报错:TypeError: 'int' object is not iterable

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

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

# 输出:
# 1×1=1
# 1×2=2   2×2=4
# 1×3=3   2×3=6   3×3=9
# 1×4=4   2×4=8   3×4=124×4=16
# 1×5=5   2×5=103×5=154×5=205×5=25
# 1×6=6   2×6=123×6=184×6=245×6=306×6=36
# 1×7=7   2×7=143×7=214×7=285×7=356×7=427×7=49
# 1×8=8   2×8=163×8=244×8=325×8=406×8=487×8=568×8=64
# 1×9=9   2×9=183×9=274×9=365×9=456×9=547×9=638×9=729×9=81


未完待续~


gba1984 发表于 2020-8-2 20:51:09

学习了。

革命年 发表于 2020-8-2 21:53:49

有时候需要死循环

革命年 发表于 2020-8-2 21:54:44

缩进四个空格,哪来的两个空格?

革命年 发表于 2020-8-2 21:56:07

蹭运气

战神貔貅 发表于 2020-8-5 16:01:02

蹭一蹭

极品召唤兽 发表于 2020-8-5 22:07:44

战神貔貅 发表于 2020-8-5 16:01
蹭一蹭

订阅一下好不好啦https://fishc.com.cn/forum.php?mod=collection&action=view&ctid=1811

dan维 发表于 2020-8-14 21:26:26

想顺便问一下,python的单双引号没有区别吗

始不垂翅 发表于 2020-8-14 22:36:57

太棒啦{:10_257:}
还有while ture之类得嘞

极品召唤兽 发表于 2020-8-15 10:45:24

dan维 发表于 2020-8-14 21:26
想顺便问一下,python的单双引号没有区别吗

嗯 是一样的

极品召唤兽 发表于 2020-8-15 10:48:11

dan维 发表于 2020-8-14 21:26
想顺便问一下,python的单双引号没有区别吗

就是不要混着用哦

dan维 发表于 2020-8-15 17:26:23

极品召唤兽 发表于 2020-8-15 10:48
就是不要混着用哦

好的,谢谢喽

大执法官 发表于 2020-8-16 09:38:45

打印完一行后会换行是end执行结果吗,还有就是乘法表中俩式子之间的空格是怎么出来的,求解

大执法官 发表于 2020-8-16 09:41:47

想起来了,,,for i in range就是加空格,,,

极品召唤兽 发表于 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)

你把这两个代码运行一下就能看出来区别了

大执法官 发表于 2020-8-17 09:09:52

极品召唤兽 发表于 2020-8-16 20:44
???
我没看懂你的意思能具体说说吗



谢谢解惑

极品召唤兽 发表于 2020-8-17 21:00:12

大执法官 发表于 2020-8-17 09:09
谢谢解惑

额..你那个加空格是啥意思??

大执法官 发表于 2020-8-18 20:27:15

极品召唤兽 发表于 2020-8-17 21:00
额..你那个加空格是啥意思??

就是两个式子中间的空格,,不是for i in range循环语句插入的吗
页: [1]
查看完整版本: Python学习笔记15(1)-----循环语句 New!