python命令行交互 引导用户选择宠物

代码

以下代码将在命令行中,引导用户选择一个或者多个宠物,并反馈用户选择的宠物

# -*- coding:UTF-8 -*-
"""
@author: dyy
@contact: douyaoyuan@126.com
@time: 2023/11/22 15:19
@file: 在命令行中引导用户选择宠物.py
@desc: xxxxxx
"""# region 引入必要的依赖
import os模块名 = 'DebugInfo'
try:from DebugInfo.DebugInfo import *
except ImportError as impErr:print(f"尝试导入 {模块名} 依赖时检测到异常:{impErr}")print(f"尝试安装 {模块名} 模块:")try:os.system(f"pip install {模块名}")except OSError as osErr:print(f"尝试安装模块 {模块名} 时检测到异常:{osErr}")exit(0)else:try:from DebugInfo.DebugInfo import *except ImportError as impErr:print(f"再次尝试导入 {模块名} 依赖时检测到异常:{impErr}")exit(0)# endregion看板: 打印模板 = 打印模板()待选宠物 = ['猫', '狗', '猪', '牛', '羊', '马']选择器 = 交互接口类()
选择器.添加选项(选项=待选宠物)用户选择 = 选择器.发起选项交互(输入提示='请选择一个宠物吧(0: 退出选择):', 多选=True, 画板=看板.副本)if '0' in 用户选择.代号:  # 用户放弃了选择看板.消息(红字('您放弃了选择, 太可惜了'))
else:if len(用户选择.选项) == 1:看板.消息(f'恭喜您选择了: {绿字(用户选择.选项[0])}')else:看板.消息('您的选择如下:')看板.添加多行(行列表=用户选择.选项,拆分列数=1,修饰方法=绿字).展示表格()

以上代码中:

  • 我们准备了一个宠物列表,以供用户选择
  • 然后我们向用户发起选项交互,并提示用户通过代号选择一个或者多个宠物,或者输入 0 以退出选择。
  • 当用户输入 0 时,我们提示用户放弃了选择
  • 当用户输入一个不存在的代号时,我们提示用户输入无效
  • 当用户输入一个代号时,我们提示用户选择的宠物是什么
  • 当用户输入多个僅时,我们提示用户选择了哪些宠物

用户拒绝选择

当用户输入 0 并回车时,我们提示用户拒绝了选择,如下👇
20231122153122

用户选择了一个不存在的宠物

当用户输入的内容不在代号范围内时,我们提示用户输入无效,如下👇
20231122153334

用户输入一个代号

当用户输入一个代号时,我们提示用户选择的宠物是什么,如下👇
20231122154333

用户选择了多信宠物

当用户输入多个代号时,我们提示用户选择了哪些宠物,如下👇
20231122154444

小结

以上就是今天分享的引导用户选择宠物的例子了,通过这种方法,我们可以在命令行中实现优良的交互体验,在保持命令行高效的同时,又保留了窗口界面的易用性,同时约束了用户输入的多变性。

以上就是今天分享的引导用户选择宠物的例子了,通过这种方法,我们可以在命令行中实现优良的交互体验,在保持命令行高效的同时,又保留了窗口界面的易用性,同时约束了用户输入的多变性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/209168.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Primavera Unifier 项目控制延伸:Phase Gate理论:1/3

序 Phase Gate 看到Phase Gate(阶段控制)的翻译是“工艺控制流程”,不知道为什么,总有一种隔靴搔痒的感觉,我琢磨了很久,觉得应该翻译成“阶卡(qia)”。所谓“Phase”就是“阶段”…

vsphere系列 :虚拟机配置直通GPU后,启动时出现 模块“DevicePowerOn”打开电源失败 的解决方案

vsphere中的虚拟机配置直通GPU后,启动时出现 模块“DevicePowerOn”打开电源失败 的解决方案 vsphere中的虚拟机配置直通GPU后,启动时出现 模块“DevicePowerOn”打开电源失败 的解决方案1、虚拟机配置GPU直通1、打开虚拟机选项2、点击编辑配置3、添加如…

工业I/O模块的功能和应用介绍

在工业领域中,不同的设备常常适配不同的通信协议,不同的协议之间无法直接互通,导致现场实施过程中困难重重。工业io模块可以将各种现场信号转化为数字信号,然后传输给控制器进行处理,实现不同设备之间的互通&#xff0…

使用C语言统计一个字符串中每个字母出现的次数

每日一言 Wishing is not enough; we must do. 光是许愿望是不够的; 我们必须行动。 题目 输入一个字符串,统计在该字符串中每个字母出现的次数 例如: 输入:i am a student 输出:a:2 d:1 e:1 i:1 m:1 n:1 s:1 t:2 u:1 大体思路…

joplin笔记同步 到腾讯云S3

创建存储桶 打开腾讯云的存储桶列表,点击“创建存储桶”,输入名称,选择地域(建议选择离自己较近的地域以降低访问时延)和访问权限(建议选择“私有读写”)。 s3 存储桶: 存储桶的名称…

Linux常用命令——blockdev命令

在线Linux命令查询工具 blockdev 从命令行调用区块设备控制程序 补充说明 blockdev命令在命令调用“ioxtls”函数,以实现对设备的控制。 语法 blockdev(选项)(参数)选项 -V:打印版本号并退出; -q:安静模式; -v&…

企业该怎么选择IP证书

IP证书是一种数字证书,它由权威的数字证书颁发机构(CA)颁发,部署在只有公网IP地址的站点上,用于在网络中验证身份和保护信息安全。IP证书可以在各种场景下保护网站的信息安全,比如网站vip登录,线…

Altium Designer学习笔记9

忽视了一个最大的问题,就是元器件的封装,不应该是根据AD系统的封装走,而应该是根据立创商城上的规格书,确认每个封装的大小,画出封装图,然后才是布局和走线。 1、确认电容的封装采用0805,贴片电…

UML建模图文详解教程01——Enterprise Architect安装与使用

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl Enterprise Architect概述 官方网站:https://www.sparxsystems.cn/products/ea/;图示如下: Enterprise Architect是一个全功能的、基于…

360:流氓or保家卫国的勇士?

你曾用过360吗,这个在国内名声不好的杀毒软件,却是令国外黑客闻风丧胆的存在。 首先,在电脑病毒刚兴起的年代,杀毒软件是要收费的,当时盛行的瑞星和金山就是采用的付费模式,而就在2006年,奇虎…

office 365企业版安装教程

1.下载所需工具(防火墙和防毒软件记得关闭) 下载链接:所需文件 2.安装激活office 1.安装 office tool plus 2.已安装过office 先进行office的移除,再进行未安装office的步骤进行 3.未安装过office 1.设置部署 按照以下来进行安…

免费分享自建GPT网站,畅享无限创意!

PS:该文章基本为GPT3.5 撰写 这里与大家分享一个令人兴奋的消息:我建立了一个全新的GPT网站,并且我将免费提供给大家使用!这个网站基于最新的GPT-3.5 Turbo模型,能够为您带来无限的创意和惊喜。 在这个免费的GPT网站…