python命令行交互引導(dǎo)用戶輸入一個(gè)數(shù)字實(shí)現(xiàn)
代碼
以下代碼將在命令行中,引導(dǎo)用戶選擇一個(gè)數(shù)字,并反饋用戶輸入的值
# -*- coding:UTF-8 -*- """ @author: dyy @contact: douyaoyuan@126.com @time: 2023/11/22 15:51 @file: 引導(dǎo)用戶輸入一個(gè)數(shù)字.py @desc: xxxxxx """ # region 引入必要的依賴 import os 模塊名 = 'DebugInfo' try: from DebugInfo.DebugInfo import * except ImportError as impErr: print(f"嘗試導(dǎo)入 {模塊名} 依賴時(shí)檢測(cè)到異常:{impErr}") print(f"嘗試安裝 {模塊名} 模塊:") try: os.system(f"pip install {模塊名}") except OSError as osErr: print(f"嘗試安裝模塊 {模塊名} 時(shí)檢測(cè)到異常:{osErr}") exit(0) else: try: from DebugInfo.DebugInfo import * except ImportError as impErr: print(f"再次嘗試導(dǎo)入 {模塊名} 依賴時(shí)檢測(cè)到異常:{impErr}") exit(0) # endregion 看板: 打印模板 = 打印模板() def 大于0小于120(內(nèi)容: str or int) -> bool: if not isinstance(內(nèi)容, int): 內(nèi)容 = str(內(nèi)容 if 內(nèi)容 else '').strip() if not 內(nèi)容: return False elif not 內(nèi)容.isdigit(): return False else: 內(nèi)容 = int(內(nèi)容) return 0 < 內(nèi)容 < 120 用戶年齡 = 交互接口類().發(fā)起文本交互(輸入提示='請(qǐng)輸入您的年齡:', 限定范圍=大于0小于120, 畫板=看板.副本) if '0' == 用戶年齡: 看板.消息(紅字('您拒絕輸入年齡')) else: 看板.消息(f'用戶年齡是: {綠字(用戶年齡)}')
以上代碼中:
- 我們準(zhǔn)備了方法,用戶判斷用戶的輸入是否符合預(yù)期
- 然后我們向用戶發(fā)起文本交互,將使用我們提供的方法判斷是否符合預(yù)期
- 當(dāng)用戶輸入 0 時(shí),我們提示用戶放棄了輸入
- 當(dāng)用戶輸入一個(gè)非整數(shù)或者非數(shù)字時(shí),我們提示用戶輸入無效
- 當(dāng)用戶輸入一個(gè)小于0的數(shù)字時(shí),我們提示用戶輸入無效
- 當(dāng)用戶輸入一個(gè)大于120的數(shù)字時(shí),我們提示用戶輸入無效
- 當(dāng)用戶輸入一個(gè) (0,120) 的整數(shù)時(shí),我們返回用戶的輸入
用戶拒絕輸入
當(dāng)用戶輸入 0 并回車時(shí),我們提示用戶拒絕了選擇,如下??
用戶輸入了一個(gè)非整數(shù)或者非數(shù)字時(shí)
當(dāng)用戶輸入非整數(shù)或者非數(shù)字時(shí),我們提示用戶輸入無效,如下??
用戶輸入一個(gè)小于0的數(shù)字時(shí)
當(dāng)用戶輸入一個(gè)小于 0 的數(shù)字時(shí),我們提示用戶輸入無效,如下??
用戶輸入了一個(gè)大于120的數(shù)字時(shí)
當(dāng)用戶輸入一個(gè)大于120的數(shù)字時(shí),我們提示用戶輸入無效,如下??
用戶輸入一個(gè) 大于0 小于120 的數(shù)字時(shí)
當(dāng)用戶輸入一個(gè) 0-120 的數(shù)字時(shí),我們反饋提示用戶的輸入,如下??
小結(jié)
以上就是今天分享的引導(dǎo)用戶輸入一個(gè)數(shù)字的例子了,通過這種方法,我們可以在命令行中實(shí)現(xiàn)優(yōu)良的交互體驗(yàn),在保持命令行高效的同時(shí),又保留了窗口界面的易用性,同時(shí)約束了用戶輸入的多變性。
更多關(guān)于python命令行引導(dǎo)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Pycharm中配置使用Anaconda的虛擬環(huán)境進(jìn)行項(xiàng)目開發(fā)的圖文教程
今天在一臺(tái)電腦上跑環(huán)境的時(shí)候,發(fā)現(xiàn)已經(jīng)裝了Pytorch了,但是運(yùn)行沒有用,提示報(bào)錯(cuò):OSError:?[WinError?126]?找不到指定的模塊,但其實(shí)cmd進(jìn)入虛擬環(huán)境是可以調(diào)用torch的,故本文給大家介紹了Pycharm中配置使用Anaconda的虛擬環(huán)境進(jìn)行項(xiàng)目開發(fā)的圖文教程2024-09-09Python自動(dòng)化辦公之郵件發(fā)送全過程詳解
這篇文章主要介紹了Python自動(dòng)化辦公之郵件發(fā)送全過程詳解,使用Python實(shí)現(xiàn)自動(dòng)化郵件發(fā)送,可以讓你擺脫繁瑣的重復(fù)性業(yè)務(wù),可以節(jié)省非常多的時(shí),下面我們就來看看具體的操作配置吧2022-01-01python實(shí)現(xiàn)機(jī)器學(xué)習(xí)之元線性回歸
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)機(jī)器學(xué)習(xí)之元線性回歸,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Python實(shí)現(xiàn)將HTML轉(zhuǎn)為PDF/圖片/XML/XPS格式
網(wǎng)頁內(nèi)容是信息傳播的主要形式之一,這篇文章主要和大家介紹了如何使用Python實(shí)現(xiàn)將HTML分別轉(zhuǎn)為PDF/圖片/XML/XPS格式等,需要的可以參考下2024-03-03Python3.5以上版本lxml導(dǎo)入etree報(bào)錯(cuò)的解決方案
這篇文章主要介紹了Python3.5以上版本lxml導(dǎo)入etree報(bào)錯(cuò)的解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-06-06Python學(xué)習(xí)之名字,作用域,名字空間(下)
這篇文章主要介紹了Python學(xué)習(xí)之名字,作用域,名字空間,緊接上一篇文章內(nèi)容展開全文,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-05-05