004.条件语句
经典程序员笑话
让我们从一个笑话开始
老婆给当程序员的老公打电话:“下班顺路买三个包子带回来,如果看到卖西瓜的,买一个。”
当晚,程序员老公手捧一个包子进了家门。。。
老婆怒道:“你怎么就买了一个包子?!”
老公答曰:“因为看到了卖西瓜的。”
我们先看看ChatGPT3.5是怎么理解这个笑话的
和没有幽默感不懂程序员的AI一样,那些没学过编程的同学一般也很难理解这个笑话的笑点在哪里,让我们改一下笑话,把它变成一个Python程序
这段程序涉及到4个新的概念
带参数的函数
格式化字符串f-string
布尔变量
条件语句
带参数的函数
带参数的函数时定义如下:
就像上面的buy_dumpling函数,它的参数只有一个count,在调用函数时传入不同的参数,就可以实现买不同数量的包子
格式化字符串f-string
之前我们介绍的都是固定的字符串,如果想在输出字符串时变化怎么办?
这就用到了格式化字符串,它的写法如下:
举个例子
问题:现在改写buy_dumpling函数,改成buy_something,实现买不同东西的目标
比如, buy_somthing(3, ‘包子'),输出结果为 买了3个包子
布尔变量
什么是变量
举个例子
做个小练习
问题:不运行上面的程序,你说一下打印结果都是什么?
回答:发送答案到微信群
变量可以有不同的类型
除了上面的字符串类型变量,我们还有很多数据类型可以放在变量里,比如布尔变量
在Python里,布尔变量有2个值True和False,⚠️首字母是大写的,很多新同学在输入时会犯错
布尔变量通常来表示一个条件的真假或是否成立,比如
那么我们接下来就可以讲Python的条件语句了
注意语句之后的冒号和代码块的缩进,初学者一般会在这个地方犯错
让我们回到老婆让老公买东西的问题
老婆给当程序员的老公打电话:“下班顺路买三个包子带回来,如果看到卖西瓜的,买一个(西瓜)
其实这里的本质是程序员在理解需求的时候,逻辑上犯了错,因为自然语言的不严谨,我们人类在沟通上依赖很多假设,没有编程背景的人在听到上述需求时,自然会「买一个」理解为买一个西瓜
但程序员会按照自己的思维定式把忽略掉的对象脑补成包子:
“下班顺路买三个包子带回来,如果看到卖西瓜的,买一个(包子)
也就是我们看到的程序004.01
课后作业来了
问题:修改程序004.01,让它满足老婆的需求,营造和睦的家庭氛围
回答:用自己熟悉的Python IDE或在线Python游乐场编写程序,截图发至微信群
Last updated