趁着娃对编程的兴趣还没消退,今天又来一讲,按照之前的计划,今天该讲条件语句了。从Python的 “if”,“elif”和“else”入手。
先得让娃对“条件”有个认识,先从生活中的例子开始吧。如果今天下雨,你该怎么办?娃说带雨伞。如果今天温度高,你会怎么办?娃说少穿点,开空调。突然想起前段时间带娃去北海公园,被检票员拦住,问小孩几岁了,被告知六岁以上需要买儿童票。公园的售票系统就是一个解释条件的很好的例子。不同的年龄,票价不一样;娃刚刚经历过,也很容易明白,那我们今天就做一个动物园的票务系统吧。
任何系统,都得先从需求开始。和娃一起指定需求。以娃为用户的方式引导娃自己定需求。你去动物园,在售票处买票的时候,你会看什么信息呢?娃说,关门时间和门票要多少钱。每个人的门票一样吗?娃说不一样啊,我要半票,爸爸妈妈需要全票,姥姥不要票啊。那票价跟什么有关系呢?娃说跟年龄。我们今天做的系统是一个自动售票系统,根据动物园定的门票价格,我们告诉机器年龄,并插入正确的钱数,就可以出票成功,就能入园了。总结一下我们需求的:第一条介绍动物园开园闭园时间;第二条介绍票价;第三条根据年龄和投入的钱数出票。
开始动手啦,第一条和第二条print都可以实现,正好复习一下上第一节的课的内容。完全由娃去操作。专门查了北京动物园的相关信息。北京动物园门票15元,由于娃还没学到小数,对小数还没有认识,就把成人票定到20,半票10元。为了美观,又让娃给介绍部分加了一个边框。
今天的主要内容就要登场了。为了建立娃的条件逻辑,按照年龄段来处理。
第一个年龄段:6周岁以内的,免票。如果年龄是6岁以内的,是不需要花钱的,如果他给了钱,我们要告诉他,不需要花钱,并把钱退还给他。如果他不给钱,告诉他,免票入园;
第二个年龄段:6-18岁,半价票。这个6-18程序逻辑是大于6小于18,涉及一个逻辑操作符与(and),与就是两个条件要同时满足。娃倒是很容易理解了and。6-18岁,插入10元,就告诉他出票成功。不是10元就告诉他,他需要支付10元。娃这里提问了,那如果他给的多了比如50,我们能给他找钱吗?这个问题非常好,涉及算术操作了,这节课不讲,我们后面再补充,我们系统1.0版本是个傻瓜系统,只接受正好的钱数,就像学校每个月交饭钱,要带正好的钱数,不找零。
第三个年龄段:18-60岁的成人票。娃照着第二段很快写了一个逻辑与关系,根据插入的钱数,告知出票成功或者需要插入20元。
第四个年龄段:60岁以上老人免票,跟6岁以下儿童类似,娃使用了CTRL C,CTRL V。
if和elif已经学完了,最后来一个else,以防负数。到此今天的if,elif和else就学完了。除了这个今天还给娃介绍了一个警告小技能“Oops”。关于Oops有一个小故事。老母亲在刚入程序员行列时,在一个做编译器的项目里,项目组人员非常简单,一个开发(老美J,博士后),一个白盒测试(初入职场的小白我)。刚开始写的UT老报错,错误信息里面提示的都是系统信息,根据老母亲当年对程序有限的认知,认为这都是系统问题,推测环境有问题。去求助领导,领导看了说,错误信息像是系统错误,但系统错误不会出现Oops,感觉Oops应该是应用输出的,去代码里看看。全局搜索之后,果真有很多Oops,从此J同学被贴上了Oops的标贴。后面全公司所有项目里看到Oops都是J同学的。再后来的工作中,又发现J同学的Oops不光多,而且长度还各不同。猜测J同学用o的长度表示警告的强度。
玩开心的测试了一天他的票务傻瓜系统:
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved