4. 处理用户输入并给出反馈
任务说明
本案例实现一个最小可用的命令行交互程序:读取用户输入的命令,根据命令执行相应操作,并输出结果或错误信息。支持以下命令:help(显示帮助)、hello(问候用户)、time(显示当前时间)、exit(退出程序)。未知命令输出错误提示。
实现代码
import sys
import datetime
def show_help():
print("可用命令:")
print(" help - 显示本帮助")
print(" hello - 输出问候语")
print(" time - 显示当前时间")
print(" exit - 退出程序")
def handle_command(cmd):
"""处理单条命令,返回是否继续运行。"""
cmd = cmd.strip().lower()
if cmd == "help":
show_help()
return True
elif cmd == "hello":
print("你好!欢迎使用命令行程序。")
return True
elif cmd == "time":
now = datetime.datetime.now()
print(f"当前时间:{now.strftime('%Y-%m-%d %H:%M:%S')}")
return True
elif cmd == "exit":
print("再见!")
return False
else:
print(f"错误:未知命令 '{cmd}'。输入 'help' 查看可用命令。")
return True
def main():
print("简易命令行程序已启动(输入 exit 退出)")
while True:
try:
user_input = input("> ")
except (EOFError, KeyboardInterrupt):
print("\n再见!")
break
if not handle_command(user_input):
break
if __name__ == "__main__":
main()
运行方式
将上述代码保存为 cli_demo.py,在终端执行:
python cli_demo.py
验证方法
按以下顺序输入命令并观察输出:
- 输入
help,应显示四条可用命令列表; - 输入
hello,应输出问候语; - 输入
time,应输出当前系统时间(格式为年-月-日 时:分:秒); - 输入
unknown,应输出错误提示,且程序不退出; - 输入
exit,应输出再见并结束程序。
判定标准:上述五步输出与代码逻辑一致,且程序在错误命令后仍可继续接收输入,即视为通过。
预期输出示例
以下为输入 help 和 unknown 时的预期输出(与代码逻辑严格对应):
> help
可用命令:
help - 显示本帮助
hello - 输出问候语
time - 显示当前时间
exit - 退出程序
> unknown
错误:未知命令 'unknown'。输入 'help' 查看可用命令。