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í)檢測到異常:{impErr}")
print(f"嘗試安裝 {模塊名} 模塊:")
try:
os.system(f"pip install {模塊名}")
except OSError as osErr:
print(f"嘗試安裝模塊 {模塊名} 時(shí)檢測到異常:{osErr}")
exit(0)
else:
try:
from DebugInfo.DebugInfo import *
except ImportError as impErr:
print(f"再次嘗試導(dǎo)入 {模塊名} 依賴時(shí)檢測到異常:{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ā)起文本交互(輸入提示='請輸入您的年齡:', 限定范圍=大于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)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Pycharm中配置使用Anaconda的虛擬環(huán)境進(jìn)行項(xiàng)目開發(fā)的圖文教程
今天在一臺電腦上跑環(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-09
python實(shí)現(xiàn)機(jī)器學(xué)習(xí)之元線性回歸
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)機(jī)器學(xué)習(xí)之元線性回歸,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
Python實(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-03
Python3.5以上版本lxml導(dǎo)入etree報(bào)錯(cuò)的解決方案
這篇文章主要介紹了Python3.5以上版本lxml導(dǎo)入etree報(bào)錯(cuò)的解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-06-06
Python學(xué)習(xí)之名字,作用域,名字空間(下)
這篇文章主要介紹了Python學(xué)習(xí)之名字,作用域,名字空間,緊接上一篇文章內(nèi)容展開全文,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助2022-05-05

