美文网首页
2019-08-15

2019-08-15

作者: 木马音响积木 | 来源:发表于2019-08-18 20:26 被阅读0次

暑假班第二期,第5部分,第一次试飞

同学们,75%的时间,我们用于讲python 编程规则,有点像读飞机的操作说明书,而后干了很多苦力,也就是修跑道,
今天,终于可以试飞了。


试飞919.jpg

试飞前,老师还要重复昨天的话,嘱咐嘱咐
1.学会了递归,我们会把内存撑爆了;
2.学会了死循环,我们能让计算机永不停歇;
3.学会了往硬盘上写文件,我们能把硬盘撑爆了;
4.学会了操作os库,能把操作系统都搞坏掉。

(徒弟: 菜刀交给你了,可以耍起来了(切菜),不要伤着自己,记住了。) 不可逆,不可逆,不可逆。

在动手写程序前,我还是想把这两个公式给你讲清楚

  1. 程序 = 指令+数据

    这是针对进入内存中的,等待执行的程序来说的。其实我们知道内存里,只有0和1,之所以,在图上给你写出的是汇编语言代码,因为全是二进制的指令和数据,我们根本一点也看不懂呀! 进入cpu 内部看程序执行.jpg
  2. 程序 = 数据结构+算法
    这是针对,你用高级语言编写程序时,这里的程序还没有写好,你在草稿纸上,画画思路 ,这时要想的是,用什么数据结构比较好,用什么算法比较好,,是这个意思。

什么是数据结构呢?简单的说,队列中的数据,就有先后顺序,还有规矩,出队必须是队头出,入队必须是队尾进;而栈,必须是先进后出,这些数据之间逻辑上的约束,就是说数据之间存在某种结构。

算法,可以认为是,解决某一问题的指令的有限序列;有限,有序
都很重要。
拿我们出的第一道题,来说:
从1,2,3,4,5 这样一直加下去,请问加到多少,第一次超过10000
sum =1+2+3+4+5+6+7+ ... ... +? >10000

解题思路:
分析,需要两个变量,
第一个是 i ,就是已经加到多少了,比如加到100了,当前 i=100
还需要第二个变量,sum,记录当前的总和,是5050

需要if 判断一下,sum 是否大于10000,不大于的话,
1) i 增大1,变为101 ,
2)加到sum 上去,sum变大了;sum当前值5151

而后再判断;sum 是否大于10000,不大于的话,
1) i 增大1,变为102 ,
2)加到sum 上去,sum变大了;

而后再判断;sum 是否大于10000,不大于的话,
1) i 增大1,变为103,
2)加到sum 上去,sum变大了;

发现规律了,重复,就是循环,不定次循环,就用while 。
这就是编程的数据基础,发现规律。

而这里面,遇到一道题,不崩溃,就是基线思维。
一步一步,用手推算,几步之后就发现规律了,所以,
要想,如果题目是sum大于100,这个小规模的,我能做出来吗?
树立信心。

要用while 想到它有四部分组成

  1. while 前面的变量初始化,
    2、while 条件不满足是退出循环
    3、while 体内,代码块
    4、while 体内,条件中使用的变量,必须变化,这里是sum

写程序

i = 0
sum = 0

while sum < 10000:  #冒号 千万别忘记
    i = i + 1                    #缩进 千万别忘记
    print(i)  # 这里为了时刻观察变量的变化
    sum = sum + i       
    print(sum)    # 这里为了时刻观察变量的变化

print("跳出循环了")
print(i) 
print(sum) 

结果是 141 , sum =10011

一开始,没有思路,做的题多了,思路就来了,
走过的路,多了,就认路了,不过如此。

相关文章

网友评论

      本文标题:2019-08-15

      本文链接:https://www.haomeiwen.com/subject/tefajctx.html