📅  最后修改于: 2023-12-03 15:28:47.380000             🧑  作者: Mango
有一个门,门有两个状态:开和关。门控制变量 door
有两个可能的值:1
表示门是开的,0
表示门是关的。门有两个相关事件:push
和 pull
。两个变量 push
和 pull
表示当前门的事件。当 push=1
时表示门被推了一下,pull=1
时表示门被拉了一下。当门是开的时候推门把它关闭,当门是关的时候推门把它打开。拉门在门是关闭的时候打开门,在门是开的时候拉门把它关闭。如果同时发生了 push
和 pull
事件,门的状态仍然保持不变。请编写一个程序,接受 door
、push
和 pull
这三个变量的值,然后计算门的新状态并将其输出到标准输出。门的新状态以 1
或 0
表示,1
表示门是开的,0
表示门是关的。
输入的每行包含三个整数 door
、push
和 pull
。
输出门的新状态,1
表示门是开的,0
表示门是关的。
0 1 0
1
门的状态转换和事件判断可以用简单的逻辑运算来完成。我们可以用一个 if-else 语句来实现这一逻辑:
door, push, pull = map(int, input().split())
if push == pull:
print(door)
elif push == 1 and door == 0:
print(1)
elif pull == 1 and door == 1:
print(0)
else:
print(door)
其中 map(int, input().split())
用来将输入的三个整数读入到变量 door
、push
和 pull
中。然后按照逻辑进行判断输出即可。
# 门 | Sudo GATE 2021 测验 |问题 22
## 问题描述
有一个门,门有两个状态:开和关。门控制变量 `door` 有两个可能的值:`1` 表示门是开的,`0` 表示门是关的。门有两个相关事件:`push` 和 `pull`。两个变量 `push` 和 `pull` 表示当前门的事件。当 `push=1` 时表示门被推了一下,`pull=1` 时表示门被拉了一下。当门是开的时候推门把它关闭,当门是关的时候推门把它打开。拉门在门是关闭的时候打开门,在门是开的时候拉门把它关闭。如果同时发生了 `push` 和 `pull` 事件,门的状态仍然保持不变。请编写一个程序,接受 `door`、`push` 和 `pull` 这三个变量的值,然后计算门的新状态并将其输出到标准输出。门的新状态以 `1` 或 `0` 表示,`1` 表示门是开的,`0` 表示门是关的。
## 输入格式
输入的每行包含三个整数 `door`、`push` 和 `pull`。
## 输出格式
输出门的新状态,`1` 表示门是开的,`0` 表示门是关的。
## 样例输入
0 1 0
## 样例输出
1
## 代码实现
门的状态转换和事件判断可以用简单的逻辑运算来完成。我们可以用一个 if-else 语句来实现这一逻辑:
```python
door, push, pull = map(int, input().split())
if push == pull:
print(door)
elif push == 1 and door == 0:
print(1)
elif pull == 1 and door == 1:
print(0)
else:
print(door)
其中 map(int, input().split())
用来将输入的三个整数读入到变量 door
、push
和 pull
中。然后按照逻辑进行判断输出即可。