今天做数学作业的过程中发现了一道有趣的题,我想,它能不能用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$同学说明原因?