Skip to content

Latest commit

 

History

History
163 lines (111 loc) · 3.56 KB

168-233791-for_循环.sy.md

File metadata and controls

163 lines (111 loc) · 3.56 KB
show version enable_checker
step
1.0
true

for循环

回忆

  • 上次主要了解的是 continue 关键字
  • continue 是一个语句 statement
    • 她的作用是结束本轮循环
    • 回到循环条件语句
    • 继续循环
  • 和 break 那种直接跳出循环的凌厉作风不同

图片描述

  • 帮助手册说除了 while 循环语句之外
  • 还有一种 for 循环语句
  • for 是什么意思?🤔

for

图片描述

图片描述

照猫画虎

图片描述

  • 这事情其实 while 也能做
  • 怎么做?

while

图片描述

  • 同样的事情 while 需要 4 行
  • for 只用两行
  • 关键就在于 range(3)
  • 什么是 range(3)?

range

图片描述

  • range 函数可以得到一个类似于元组的东西
  • 然后让这个 for 遍历这个元组中的元素

range 细节

图片描述

  • 如果只有一个参数
    • 从零开始
    • 前闭后开
  • 如果有两个参数
    • 前闭后开
  • 如果有三个参数
    • 中间增量为第三个参数
  • 我们再来看一个例子

进步

图片描述

  • 我们做一个具体的练习
  • 我们每天进步1%
    • 那么有一年进步了多少
  • 每天退步1%
    • 一年退步了多少?

进步

  • 输入法在桌面
    • 点击输入法之后
    • 右键右下角小图标
dayup = 1
dayfactor = 0.01
for day in range(365):
	dayup *= (1 + dayfactor)
print("进步幅度{:.3f}".format(dayup))
  • 这里的{:.3f}指的是保留三位有效数字

  • 别小看这个例子哦

  • 人工智能也是

    • 由各种初始值
    • 各种因子等等
    • 一步步具有的智能
  • 有进步就有退步

退步

  • 同样可以得到退步幅度
  • 每天退步一点点
dayup = 1
dayfactor = 0.01
for day in range(365):
	dayup *= (1 - dayfactor)
print("进步幅度{:.3f}".format(dayup))
  • 如果是想要让这个进步幅度
  • 通过手动输入应该如何呢?
  • 如果是五年不断进步又会如何呢?
  • 如果进步5天,休息两天又会如何呢?

回忆

图片描述

  • 我们输出0-127等数字对应的chr的时候
  • 0好像被黑暗森林所吞没

对应输出

  • 如果用序号:字符的方式

图片描述

  • 可以找到0这个字符

  • 问题出在哪里呢?

  • esc的时候

    • 他从正常输出序列逃逸了
    • 一直到1的时候才回来
  • 那我要跳过27号字符

ESC

图片描述

  • 输出结果

图片描述

  • 0和前面的符号并没有被黑暗森林所吞没
  • 而是跟着esc键逃逸了😁

总结

  • 这次主要了解的是 for 循环语句
  • for循环和while循环可以相互转化

图片描述

  • for 循环可以遍历
    • range 对象
    • list 对象
  • for还能干点什么好玩的么?
  • 下次再说 👋