📅  最后修改于: 2023-12-03 14:58:33.252000             🧑  作者: Mango
本篇文章是关于2020年GATE模拟考试中的Sudo题目的一道题目的介绍。这道题目是第43章中的一道编程题,主题为“门”。
你需要开发一个门禁系统,该系统根据用户输入的身份和密码控制门的开关。系统应满足以下要求:
用户输入将包含以下内容:
login <user_type> <password>
: 用于登录的命令。<user_type>
可以是admin
或user
,<password>
是一个字符串。open
: 门打开命令,只有管理员可以执行。close
: 门关闭命令,只有管理员可以执行。exit
: 退出系统命令。系统应该返回以下内容:
Logged in successfully!
,否则返回Invalid login!
Door is opened/closed!
;否则,返回Permission denied!
Door is open!
;否则,返回Door is closed!
以下是该系统的一个示例运行:
输入:
login admin password
open
login user 1234
check
close
exit
输出:
Logged in successfully!
Door is opened!
Invalid login!
Door is closed!
door_status = "closed"
logged_in = False
while True:
user_input = input().split()
if user_input[0] == "login":
user_type = user_input[1]
password = user_input[2]
if user_type == "admin" and password == "password":
logged_in = True
print("Logged in successfully!")
elif user_type == "user":
print("Invalid login!")
else:
print("Permission denied!")
elif not logged_in:
print("Invalid login!")
elif user_input[0] == "open":
if user_type == "admin":
door_status = "open"
print("Door is opened!")
else:
print("Permission denied!")
elif user_input[0] == "close":
if user_type == "admin":
door_status = "closed"
print("Door is closed!")
else:
print("Permission denied!")
elif user_input[0] == "check":
if door_status == "open":
print("Door is open!")
else:
print("Door is closed!")
elif user_input[0] == "exit":
break
else:
print("Invalid command!")
这是一个基本的门禁系统代码实现。它使用一个循环来持续读取用户输入,并根据输入执行相应的操作。门的状态通过door_status
变量进行跟踪,并根据用户的身份和命令来控制门的开关。同时,它还记录每次门的打开和关闭操作。