菜單驅(qū)動(dòng)程序簡(jiǎn)介
菜單驅(qū)動(dòng)程序是通過顯示選項(xiàng)列表從用戶那里獲取輸入并允許用戶從選項(xiàng)列表中選擇輸入的程序。
菜單驅(qū)動(dòng)程序的一個(gè)簡(jiǎn)單示例是 ATM(自動(dòng)取款機(jī))。在交易的情況下,它通過按鍵從用戶那里獲取輸入并在后臺(tái)處理交易。同樣,可以考慮咖啡自動(dòng)售貨機(jī)、快餐菜單、電視遙控器等的例子。現(xiàn)實(shí)世界中菜單驅(qū)動(dòng)程序有幾個(gè)優(yōu)點(diǎn)。
菜單驅(qū)動(dòng)程序的優(yōu)點(diǎn)
菜單驅(qū)動(dòng)系統(tǒng)的主要優(yōu)點(diǎn)是:
- 簡(jiǎn)單和用戶友好的界面
- 最佳新手或初學(xué)者
- 沒有必要記住一長(zhǎng)串命令
- 不言自明
現(xiàn)在我們知道了菜單驅(qū)動(dòng),讓我們看一些在 Python/ target=_blank class=infotextkey>Python 編程語言中實(shí)現(xiàn)的例子。
創(chuàng)建一個(gè)簡(jiǎn)單的計(jì)算器的菜單驅(qū)動(dòng)程序
在下面的菜單驅(qū)動(dòng)程序中,我們將用 Python 構(gòu)建一個(gè)簡(jiǎn)單的計(jì)算器,它在無限 while 循環(huán)的幫助下向用戶顯示選項(xiàng)列表(加、減、乘和除)。
根據(jù)用戶的選擇,將在 if-else 條件的幫助下調(diào)用用戶定義的函數(shù)之一。例如,如果用戶輸入一個(gè)加法,則會(huì)調(diào)用該函數(shù),如果用戶輸入四,則調(diào)用除法函數(shù)。
為了退出菜單驅(qū)動(dòng)的程序,在用戶輸入(選擇 5)時(shí)調(diào)用 break 語句,它跳出 while 循環(huán)并退出程序。
如果用戶輸入無效選項(xiàng),我們將顯示驗(yàn)證消息以進(jìn)行更正。或者,如果用戶輸入無效輸入,則可以通過處理異常來進(jìn)一步改進(jìn)程序。
# 兩個(gè)數(shù)相加
def add (a, b) :
總和 = a + b
打印(a,“+”,b,“=”,總和)
# 兩個(gè)數(shù)
相減def 減(a, b) :
差異 = a - b
打印(a,“-”,b,“=”,差異)
# 兩個(gè)數(shù)
相乘def 乘(a, b) :
產(chǎn)品 = a * b
打印(a,“x”,b,“=”,產(chǎn)品)
#
將兩個(gè)數(shù)相除 def 除(a, b) :
除法 = a / b
打印(a,“/”,b,“=”,除法)
# Menu Driven Heading
print( "WELCOME TO CALCULATORn" )
# 使用 while 循環(huán)打印菜單列表
while True :
打印(“菜單”)
print( "1. 兩個(gè)數(shù)相加" )
打印(“2。兩個(gè)數(shù)字之間的差異”)
打印(“3。兩個(gè)數(shù)字的乘法”)
print( "4. 兩個(gè)數(shù)的除法" )
打印(“5.退出”)
users_choice = int(input( "n請(qǐng)輸入您的選擇:" ))
#
如果users_choice == 1 ,則根據(jù)用戶選擇調(diào)用相關(guān)方法:
打印(“n執(zhí)行添加n”)
a = int( input( "請(qǐng)輸入第一個(gè)數(shù)字:" ))
b = int( input( "請(qǐng)輸入第二個(gè)數(shù)字:" ))
添加(a,b)
elif users_choice == 2:
打印(“n執(zhí)行減法n”)
a = int( input( "請(qǐng)輸入第一個(gè)數(shù)字:" ))
b = int( input( "請(qǐng)輸入第二個(gè)數(shù)字:" ))
減去(a,b)
elif users_choice == 3:
打印(“n執(zhí)行乘法n”)
a = int( input( "請(qǐng)輸入第一個(gè)數(shù)字:" ))
b = int( input( "請(qǐng)輸入第二個(gè)數(shù)字:" ))
乘以(a, b)
elif users_choice == 4:
打印(“n執(zhí)行分區(qū)n”)
a = int( input( "請(qǐng)輸入第一個(gè)數(shù)字:" ))
b = int( input( "請(qǐng)輸入第二個(gè)數(shù)字:" ))
除(a, b)
# 退出 while 循環(huán)
elif users_choice == 5 :
break
其他:
打印(“請(qǐng)從列表中輸入一個(gè)有效的輸入”)
輸出
歡迎使用計(jì)算器
菜單
1.兩個(gè)數(shù)的加法2.兩個(gè)數(shù)的
差3.兩個(gè)數(shù)的
乘法4.兩個(gè)數(shù)的
除法
5.退出
輸入您的選擇:1
執(zhí)行加法
輸入第一個(gè)數(shù)字:2
輸入第二個(gè)數(shù)字:4
2 + 4 = 6
菜單
1.兩個(gè)數(shù)的加法2.兩個(gè)數(shù)的
差3.兩個(gè)數(shù)的
乘法4.兩個(gè)數(shù)的
除法
5.退出
輸入您的選擇:2
執(zhí)行減法
輸入第一個(gè)數(shù)字:4
輸入第二個(gè)數(shù)字:1
4 - 1 = 3
菜單
1.兩個(gè)數(shù)的加法2.兩個(gè)數(shù)的
差3.兩個(gè)數(shù)的
乘法4.兩個(gè)數(shù)的
除法
5.退出
輸入您的選擇:3
執(zhí)行乘法
輸入第一個(gè)數(shù)字:4
輸入第二個(gè)數(shù)字:7
4 x 7 = 28
菜單
1.兩個(gè)數(shù)的加法2.兩個(gè)數(shù)的
差3.兩個(gè)數(shù)的
乘法4.兩個(gè)數(shù)的
除法
5.退出
輸入您的選擇:4
表演部
輸入第一個(gè)數(shù)字:6
輸入第二個(gè)數(shù)字:2
6 / 2 = 3.0
菜單
1.兩個(gè)數(shù)的加法2.兩個(gè)數(shù)的
差3.兩個(gè)數(shù)的
乘法4.兩個(gè)數(shù)的
除法
5.退出
輸入您的選擇:5