048. 编写一个函数,实现简单的命令行接口,接受用户输入并响应

在 Python 中,可以通过 input() 函数创建一个简单的命令行接口,接受用户输入并根据输入内容进行响应。

示例代码

def simple_command_line_interface():
    """
    实现一个简单的命令行接口,接受用户输入并响应。
    """
    print("欢迎使用简单命令行接口!")
    print("输入 'help' 查看可用命令,输入 'exit' 退出程序。")

    while True:
        # 接受用户输入
        user_input = input("请输入命令:").strip()

        # 根据用户输入进行响应
        if user_input.lower() == 'exit':
            print("退出程序。")
            break
        elif user_input.lower() == 'help':
            print("可用命令:")
            print("  help - 显示帮助信息")
            print("  exit - 退出程序")
            print("  greet <name> - 打印问候语")
        elif user_input.lower().startswith('greet'):
            # 解析用户输入的参数
            parts = user_input.split()
            if len(parts) == 2:
                name = parts[1]
                print(f"Hello, {name}!")
            else:
                print("错误:请提供一个名字。")
        else:
            print("未知命令,请输入 'help' 查看可用命令。")

# 调用函数
simple_command_line_interface()

运行示例

假设用户输入如下内容:

请输入命令:help

运行结果如下:

可用命令:
  help - 显示帮助信息
  exit - 退出程序
  greet <name> - 打印问候语
请输入命令:greet Alice
Hello, Alice!
请输入命令:exit
退出程序。

代码解释

打印欢迎信息:使用 print() 函数打印欢迎信息和帮助信息。

无限循环:使用 while True 创建一个无限循环,持续接受用户输入。

接受用户输入:使用 input() 函数接受用户输入,并使用 strip() 方法去除输入字符串两端的空白字符。

根据用户输入进行响应

  • 使用 if-elif-else 语句根据用户输入的内容进行响应。

  • 如果用户输入 exit,退出程序。

  • 如果用户输入 help,打印帮助信息。

  • 如果用户输入以 greet 开头,解析输入的参数并打印问候语。

  • 如果用户输入未知命令,提示用户输入 help 查看可用命令。

退出程序:使用 break 语句退出无限循环,结束程序。

扩展:支持更多命令

你可以根据需要添加更多命令。例如,添加一个命令来计算两个数字的和:

elif user_input.lower().startswith('add'):
    # 解析用户输入的参数
    parts = user_input.split()
    if len(parts) == 3:
        try:
            num1 = float(parts[1])
            num2 = float(parts[2])
            print(f"{num1} + {num2} = {num1 + num2}")
        except ValueError:
            print("错误:请输入有效的数字。")
    else:
        print("错误:请提供两个数字。")

注意事项

  1. 输入验证:在解析用户输入时,确保对输入进行验证,避免因无效输入导致程序崩溃。
  2. 用户体验:提供清晰的帮助信息,让用户了解可用的命令。
  3. 扩展性:可以根据需要添加更多命令,使命令行接口更加功能丰富。

视频讲解

BiliBili: 视睿网络-哔哩哔哩视频 (bilibili.com)