欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python?命令行界面的用戶交互及優(yōu)化

 更新時間:2023年11月06日 09:30:35   作者:三塊錢  
這篇文章主要為大家介紹了python?命令行界面的用戶交互及優(yōu)化方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

背景

說一千,道一萬,程序是為用戶服務的,所以在程序運行過程,與用戶交互以獲取用戶的信息輸入和決策確認,是無法避免的編程需要考慮和解決的需求。

一個簡單的demo

如下的程序中,程序需要生成一個新的 id_rsa.pub 文件,但是不巧,程序的工作目錄下已經存在了一個 id_rsa.pub 文件。我們需要告知用戶并獲得用戶的決策指示,以便可以做出用戶希望的行為。

下面的代碼使用 input 向用戶發(fā)起交互:

# -*- coding:UTF-8 -*-
# region 引入必要依賴
from DebugInfo.DebugInfo import *
# endregion
if __name__ == "__main__":
    畫板: 打印模板 = 打印模板(False)
    畫板.執(zhí)行位置(__file__)
    交互端: 交互接口類 = 交互接口類()
    畫板.消息('程序已經開始運行...')
    畫板.消息('生成新的 id_rsa.pub 文檔...')
    用戶選擇 = input('此操作將會刪除原有文本,請問是否繼續(xù)(y:繼續(xù); n:返回): ')
    if 用戶選擇:
        if 用戶選擇 in 'yY':
            畫板.消息(綠字('您選擇了繼續(xù),感謝信任...'))
        elif 用戶選擇 in 'nN':
            畫板.消息(紅字('您選擇了返回,您是一個謹慎的人'))
        else:
            畫板.提示錯誤('您輸入了非期望的指示')
    else:
        畫板.提示錯誤('您沒有輸入任何值')

??上面的代碼中,我們提示用戶輸入決策,并對用戶輸入的決策進行判斷和反饋:

  • 當用戶輸入 y or Y 時,程序反饋用戶,感謝信息
  • 當用戶輸入 n or N 時,程序反饋用戶,并中斷覆蓋文檔的損傷
  • 當用戶沒有輸入時,程序反饋用戶沒有輸入任何信息
  • 當用戶輸入的值不在 y Y n N 范圍內時,提醒用戶輸入了非預期的值

優(yōu)化交互

命令行是一個主要以文本方程呈現(xiàn)信息的界面,這種界面下信息密度高,用戶操作的誤操作率也比較高,也就是說,我們需要容許用戶錯誤和非法的輸入,并提供補救的機會。

以下代碼進行了優(yōu)化,為用戶提供了補救的機會:

# -*- coding:UTF-8 -*-
# region 引入必要依賴
from DebugInfo.DebugInfo import *
# endregion
if __name__ == "__main__":
    畫板: 打印模板 = 打印模板(False)
    畫板.執(zhí)行位置(__file__)
    交互端: 交互接口類 = 交互接口類()
    畫板.消息('程序已經開始運行...')
    畫板.消息('生成新的 id_rsa.pub 文檔...')
    確認覆蓋: bool = False
    while True:
        用戶選擇 = input('此操作將會刪除原有文本,請問是否繼續(xù)(y:繼續(xù); n:返回): ')
        if 用戶選擇:
            if 用戶選擇 in 'yY':
                畫板.消息(綠字('您選擇了繼續(xù),感謝信任...'))
                確認覆蓋 = True
                break
            elif 用戶選擇 in 'nN':
                畫板.消息(紅字('您選擇了返回,您是一個謹慎的人'))
                確認覆蓋 = False
                break
            else:
                畫板.提示錯誤('您輸入了非期望的指示')
        else:
            畫板.提示錯誤('您沒有輸入任何值')
    if 確認覆蓋:
        pass
    else:
        pass

??以上代碼中,我們將用戶輸入的input邏輯和判斷邏輯放入一個 while 循環(huán)中,并在用戶輸入非法時,循環(huán)提示用戶輸入,直到用戶輸入了預期的信息。

效果如下:

通過使用 while True 循環(huán),我們?yōu)橛脩籼峁┝搜a救的機會,提高了交互的使用體驗和健壯性。

邏輯封裝

以上所設計的用戶交互邏輯,在 DebugInfo 模塊中已經進行了封裝,可以通過 交互接口類 使用封裝好的功能。

如下是使用 DebugInfo.交互接口類 實現(xiàn)的用戶交互邏輯的代碼:

# -*- coding:UTF-8 -*-
# region 引入必要依賴
from DebugInfo.DebugInfo import *
# endregion
if __name__ == "__main__":
    畫板: 打印模板 = 打印模板(False)
    畫板.執(zhí)行位置(__file__)
    交互端: 交互接口類 = 交互接口類()
    畫板.消息('程序已經開始運行...')
    畫板.消息('生成新的 id_rsa.pub 文檔...')
    # 要求用戶確認是否繼續(xù)
    用戶選擇 = 交互端.發(fā)起文本交互(輸入提示='此操作將會刪除原有文本,請問是否繼續(xù)(y:繼續(xù); n:返回)',限定范圍='yYnN',畫板=畫板.副本)
    if 用戶選擇 in 'yY':
        畫板.消息(綠字('您選擇了繼續(xù),感謝信任...'))
    elif 用戶選擇 in 'nN':
        畫板.消息(紅字('您選擇了返回,您是一個謹慎的人'))

??以上代碼中,我們通過使用 用戶選擇 = 交互端.發(fā)起文本交互(輸入提示='此操作將會刪除原有文本,請問是否繼續(xù)(y:繼續(xù); n:返回)',限定范圍='yYnN',畫板=畫板.副本) 發(fā)起與用戶的交互,并指定了用戶輸入反饋的范圍是 ‘yYnN’,然后我們只需要等待用戶交互完成后確認用戶的決策就好了,下面是運行的效果:

??上面的運行效果中,我們發(fā)現(xiàn)當用戶輸入非預期的值時,程序還善意的提醒了用戶需要輸入的字符范圍,避免了用戶手足無措的尷尬。

小結

以上就是今天分享的 DebugInfo 模塊提供的 交互接口類 的用戶交互功能了,更多關于python 命令行界面用戶交互的資料請關注腳本之家其它相關文章!

相關文章

  • python閉包和裝飾器你了解嗎

    python閉包和裝飾器你了解嗎

    這篇文章主要為大家詳細介紹了Python的閉包和裝飾器,何為閉包?何為裝飾器?感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-08-08
  • 深入理解?Python?中的?pip?虛擬環(huán)境(最佳實踐)

    深入理解?Python?中的?pip?虛擬環(huán)境(最佳實踐)

    本文深入講解了Python中pip虛擬環(huán)境的概念及其重要性,并詳細介紹了如何創(chuàng)建、激活和管理虛擬環(huán)境,以及如何使用requirements.txt文件記錄和管理項目依賴,文章指出,使用虛擬環(huán)境可以有效避免依賴沖突,為每個項目提供一個干凈的開發(fā)環(huán)境,使得項目更易于維護和部署
    2024-10-10
  • python 判斷一個進程是否存在

    python 判斷一個進程是否存在

    判斷python判斷一個進程是否存在
    2009-04-04
  • OpenCV半小時掌握基本操作之角點檢測

    OpenCV半小時掌握基本操作之角點檢測

    這篇文章主要介紹了OpenCV基本操作之角點檢測,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 如何實現(xiàn)在遠程linux服務器上運行python代碼

    如何實現(xiàn)在遠程linux服務器上運行python代碼

    這篇文章主要介紹了如何實現(xiàn)在遠程linux服務器上運行python代碼問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Python?迭代器和生成器概念及場景分析

    Python?迭代器和生成器概念及場景分析

    yield 是 Python 中實現(xiàn)惰性計算和協(xié)程的核心工具,結合 send()、throw()、close() 等方法,能夠構建高效、靈活的數(shù)據(jù)流和控制流模型,這篇文章主要介紹了Python?迭代器和生成器概念,需要的朋友可以參考下
    2025-04-04
  • 利用Matlab繪制各類特殊圖形的實例代碼

    利用Matlab繪制各類特殊圖形的實例代碼

    作為一個功能強大的工具軟件,Matlab具有很強的圖形處理功能,提供了大量的二維、三 維圖形函數(shù),這篇文章主要給大家介紹了關于如何利用Matlab繪制各類特殊圖形的相關資料,需要的朋友可以參考下
    2021-07-07
  • python 5個頂級異步框架推薦

    python 5個頂級異步框架推薦

    這篇文章主要介紹了python5個頂級的異步框架,幫助大家更好的利用python進行web開發(fā),感興趣的朋友可以了解下
    2020-09-09
  • Python與R語言的簡要對比

    Python與R語言的簡要對比

    這篇文章主要介紹了Python與R語言的簡要對比,小編覺得還挺不錯的,這里分享給大家,需要的朋友可以了解下。
    2017-11-11
  • PyCharm 解決找不到新打開項目的窗口問題

    PyCharm 解決找不到新打開項目的窗口問題

    這篇文章主要介紹了PyCharm 解決找不到新打開項目的窗口問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01

最新評論