和娃一起学编程(python)2024年2月

2月23
寒假刚过,假期主要做功课和任务(数学的每日一练在上面博文分享了),所以最近的任务主要是复习之前学习的一些知识,如变量、for循环等
今天给娃补充复习了等差数列的数学知识。
编写了使用累加发计算等差数列的问题。

a1 = 100 #第一个数
d = 8 #差,每次加几
s = 0 #存放和
n = 101 #一共有多少个数字
for i in range(n):
    #print(i)
    an = a1+i*d
    s=s+an
print(s)

做完等差数列,娃说他想做做斐波那契数列(我曾经认真的在纸上写下过这个数列的名字,所以他记得很牢固)。
经过一番思考和讨论,我们决定用列表的方式写程序,但是还没有学python的列表,于是又回到scratch来编写。使用python来编写的方式就作为这两天的思考题,明日再战!

2月25
南京下冰雨,原本周五的课调到了周日,周四晚上的时候娃信誓旦旦的说太好了,周日再去上课吧! 但到了周六的时候他便不断发出拷问,为什么周日还要上课。。还好教育局听从了不断投诉的家长们的意见,到了周六傍晚,老师发来通知周日的调课也取消了。意外的惊喜总是特别让人快乐!
上午睡到自然醒,外出玩到下午回家,带娃写作业。
今天娃自己复写了等差数列求和的程序。
我们一起讨论了怎么写斐氏数列,我们写了一段错误代码,一时我没看出啥错误来。(附上错误代码)

a1 = 1
a2 = 1
an = 0
an_1 = a2 #是an前一个数
an_2 = a1 #是an前面的第二个数
n = 20 #一共有几个数字
s = a1+a2 #数列的和
for i in range(n-2):
    an = an_1+an_2
    s = s+an
    print(an)
    an_1 = an   #这里就是错误的地方,我们先吧an_1更新了,导致后面an_2=an_1时候发生错误
    an_2 =an_1
print(s)
    

我跟娃说,看结果是错了,但是哪里错了呢,我们要来找错误,于是信誓旦旦想教娃怎么分步来调试代码,结果我这个半吊子(也不如)不知道怎么搞断点和分步执行,百度以后换用pycharm才搞定。。(是的,我真的是和娃一起在学),pycharm的各种类型的分步调试作为遗留问题下次学习。

a1 = 1
a2 = 1
an = 0
an_1 = a2 #是an前一个数
an_2 = a1 #是an前面的第二个数
n = 20 #一共有几个数字
s = a1+a2 #数列的和
for i in range(n-2):
    an = an_1+an_2
    s = s+an
    print(an)
    an_2 =an_1
    an_1 = an
print(s)
    

2月26日
完成数学语文作业后,我们编写了 1、2、4、7、11、16…每次差都要增加1的数列。并且我们发现了用,来分割要print的内容,连接了变量和字符串的输出。

A1 = 1 #计算1,2,4,7,11,16,22...的数列
D = 1 #差,而且每次加D
An = A1
S = A1
N = 100 #一共有多少数字

for i in range(N-1):
    An = An + D
    D = D + 1
    S = S + An
    print('第',i+2,'项是',An)
    print('这次和是',S)

2月27日
在工作日做完学校的作业,加上阅读打卡、预习复习、看看电视,大宝和妹妹玩耍已经耗费掉大部分时间,昨晚更是开心地拿着新买的炫彩笔画了几幅大作,运动员

他问我他画的啥,我说着是流星雨吧,他说不是,这是个赛场,这边是跑道,绿色的是草坪,上面是观众,因为运动员跑太快了,所以他看到的都是模糊的线。。我再加上两个运动员上去吧!而且要近大远小(scratch学做游戏时候,教了让物体慢慢变小可以让人感觉它越来越远)。
编程是没时间了,今日打点数学基础:
数学题
本次试题来自我一个做教培的好朋友,每天给娃出题真是费脑子,以后有个“专家”可以求助了。
最近发现,娃做数学题不如之前的有冲劲,不知道是不是我好几次把题进行了抽象,他有些畏难,最近还是再弄一些具体实例进行练习,让他找回点自信。这个阶段其实在具体实例方面还是不错的,他会自己发现和总结,最近想了一套各种数字*5快速心算得出答案的方法,很多时候比我算的快多了。
所以上升到抽象通用公式的内容,要稍缓,点到即可。

和娃商量了本学期每日打卡内容:阅读半小时+打字10分钟。
之前在typingclub完成了基本指法的练习,现在升级使用querty打字网站,有编程词汇、英语各级词汇打字训练,还顺便给英语打点小小的基础。
qwerty打字网站

2月28日
今天完成作业、阅读、做了个数学小试题等任务后差不多到了睡觉时间,但是娃在打完字有强烈要求编个程,我一看编程前几天刚学了点if语句,那就正好那今日数学小试题的最后一题来练练手(因为我怀疑他有点被题目绕晕了),正好编个程序加强下理解。
附题目(编程为最后一题)
在这里插入图片描述

Z = 'A' #代表真相,alex做的为A,bob做的为B,Cam做的为C,Dean做的为D
a = b = c = d =0 #a=0表示Alex说假话,a=1表示alex说真话。

if Z == 'A':
    a = 0
    b = 0
    c = 1
    d = 1
    if(a+b+c+d==1):
        print('真相是他打碎了玻璃',Z)
Z = 'B'
if Z == 'B':
    a = 1
    b = 0
    c = 1
    d = 1
    if(a+b+c+d==1):
        print('真相是他打碎了玻璃',Z)
Z = 'C'
if Z == 'C':
    a = 0
    b = 0
    c = 0
    d = 1
    if(a+b+c+d==1):
        print('真相是他打碎了玻璃',Z)
Z = 'D'
if Z == 'D':
    a = 0
    b = 1
    c = 1
    d = 0
    if(a+b+c+d==1):
        print('真相是他打碎了玻璃',Z)

通过了这个小程序,娃差不多算是初步接触了命题和逻辑。但是使用初步的逻辑公式来编程,可能还有点困难。
下次找机会给他讲讲“命题的概念”

2月29日
今天做完作业,我们继续昨天的打碎玻璃的问题,今天我们百度搜索并学习了列表的写法:
列表名 People = [‘A’,‘B’,‘C’,‘D’]
for 变量 in 列表:
循环体
还顺便学习了跳出函数体的 break
附上程序

Z = 'A' #代表真相,alex做的为A,bob做的为B,Cam做的为C,Dean做的为D
a = b = c = d =0 #a=0表示Alex说假话,a=1表示alex说真话。

People = ['A','B','C','D']
for Z in People:
    print(Z)
    a = (Z == 'B')
    b = (Z == 'D')
    c = (Z != 'C')
    d = (Z != 'D')
    print(a+b+c+d)
    if (a+b+c+d)==1:
       print('真相是他打碎了玻璃',Z)
       break
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值