fly6022
文章17
标签26
分类3
【01.数量关系】Python解数学题

【01.数量关系】Python解数学题

今天做数学作业的过程中发现了一道有趣的题,我想,它能不能用Python来解呢?

题目

(2020·长沙)某数学老师在课外活动中做了一个有趣的游戏:首先发给$A$,$B$,$C$三个同学相同数量的扑克牌,然后依次完成下列三个步骤:

第一步:$A$同学拿出两张扑克牌给$B$同学;
第二步:$C$同学拿出三张扑克牌给$B$同学;
第三步:$A$同学手中此时有多少张扑克牌,$B$同学就拿出多少张扑克牌给$A$同学;

请你确定,最终$B$同学手中剩余的扑克牌的张数为(假定发到每个同学手中的扑克牌数量足够多)?

解题思路

这是一道简单的列式表示数量关系类型题。

由题可知,三个同学初始的扑克牌数量是相等的。

设扑克牌数量为$x$.

∵ 第一步中,$A$同学拿出两张扑克牌给$B$同学.

则此时,$A$同学的扑克牌数量为$(x-2)$张,$B$同学的扑克牌数量为$(x+2)$张.

∵ 第二步中,$C$同学拿出三张扑克牌给$B$同学.

则此时,$C$同学的扑克牌数量为$(x-3)$张,$B$同学的扑克牌数量为$(x+2+3)$张.

我们已经明确了该题的数量关系。

易知,$B$同学手中的扑克牌数量为$(x+5)-(x-2)=7$张.

代码

poker = 114514

a1 = poker - 2

b1 = poker + 2

c1 = poker - 3

b2 = b1 + 3

b3 = b2 - a1

print(b3)

拓展与思考

$D$同学在原有题目的基础上,定义:扑克牌数量、交换扑克牌数量均为任意整数.

下面是$D$同学写的代码:

代码

print("键入每个人的扑克牌数量:")

poker = int(input())

print("键入第一次交换时扑克牌数量:")

num1 = int(input())

print("键入第二次交换时扑克牌数量:")

num2 = int(input())

a1 = poker - num1

b1 = poker + num1

c1 = poker - num2

b2 = b1 + num2

b3 = b2 - a1

print(b3)

运行结果

键入每个人的扑克牌数量:
0
键入第一次交换时扑克牌数量:
2
键入第二次交换时扑克牌数量:
3
结果: 7

当变量poker被赋值为0时,运行结果却为7,试帮$D$同学说明原因?

Author:fly6022
Link:https://fly6022.fun/posts/2021-01-29-01/
版权声明:本文采用 署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0) 协议进行许可,转载请注明原出处。