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

验证方法

按以下顺序输入命令并观察输出:

  1. 输入 help,应显示四条可用命令列表;
  2. 输入 hello,应输出问候语;
  3. 输入 time,应输出当前系统时间(格式为 年-月-日 时:分:秒);
  4. 输入 unknown,应输出错误提示,且程序不退出;
  5. 输入 exit,应输出再见并结束程序。

判定标准:上述五步输出与代码逻辑一致,且程序在错误命令后仍可继续接收输入,即视为通过。

预期输出示例

以下为输入 help 和 unknown 时的预期输出(与代码逻辑严格对应):


> help
可用命令:
  help  - 显示本帮助
  hello - 输出问候语
  time  - 显示当前时间
  exit  - 退出程序
> unknown
错误:未知命令 'unknown'。输入 'help' 查看可用命令。
CLI 命令处理流程 用户输入命令 命令分发 匹配 help / hello / time 执行对应操作 输出结果 不匹配 输出错误信息 exit 退出循环 继续读取下一条命令