Python實現(xiàn)ATM簡單功能的示例詳解
一.局部變量、全局變量
1.什么是局部變量
作用范圍在函數(shù)內部,在函數(shù)外部無法使用
2.什么是全局變量
在函數(shù)內部和外部均可使用
3.如何將函數(shù)內定義的變量聲明為全局變量
使用global關鍵字,global變量
二.global關鍵字
思考:
num=100
def testsA()
print(num)
def testB()
num=200
print(num)
testA() #結果:100
testB() #結果:200
print(f'全局變量num={num}') #結果:全局變量num=100testB函數(shù)需要修改變量num的值為200,如何修改程序?
這時我們就需要把局部變量轉變?yōu)槿肿兞?,利用global關鍵字
演示
num = 200
def A():
print(f"A:{num}")
def B():
global num
num = 500
print(f"B:{num}")
A()
B()
print(num)
結果是

三.編寫ATM程序
要求
定義一個全局變量: money,用來記錄銀行卡余額(默認5000000)
定義一個全局變量: name,用來記錄客戶姓名(啟動程序時輸入)
定義如下的函數(shù):
- 查詢余額函數(shù)
- 存款函數(shù)
- 取款函數(shù)
- 主菜單函數(shù)
程序啟動后要求輸入客戶姓名
查詢余額、存款,取款后都會返回主菜單
存款、取款后,都應顯示一下當前余額
客戶選擇退出或輸入錯誤,程序會退出,否則一直運行
詳細步驟
1.定義全局變量,輸入姓名
#定義全局變量
money = 500000
name = None
#輸入姓名
name = input("請輸入您的姓名:")
2.定義查詢函數(shù)
#定義查詢函數(shù)
def query(show_header):
if show_header:
print("------------查詢余額--------------")
print(f"{name},您好,您所剩余額為{money}")3.定義存款函數(shù)
#定義存款
def saving(num):
global money
money+=num
print("------------存款--------------")
print(f"{name},您好,您存入{money}成功")
query()4.定義取款函數(shù)
#定義取款
def get_money(num):
global money
money -= num
print("------------取款--------------")
print(f"{name},您好,您取出{num}成功")
query()5.定義主菜單
#定義主菜單
def main():
print("------------主菜單--------------")
print(f"{name}您好,歡迎來到ATM,請選擇操作")
print("查詢余額:輸入1")
print("存款: 輸入2")
print("取款: 輸入3")
print("退出: 輸入4")
return input("請輸入您的選擇:")
6.設置循環(huán),確保持續(xù)中途不退出
#設置循環(huán)確保程序中不退出
while True:
keyboard_input = main()
if keyboard_input=="1":
query(True)
continue
elif keyboard_input=="2":
num =int(input("您想存入多少錢:"))
saving(num)
continue
elif keyboard_input=="3":
num = int(input("您想取出多少錢:"))
get_money(num)
continue
else:
print("程序退出了!")
break運行結果

存在問題
但我們進行存款或者取款的時候,會調用查詢余額函數(shù),在查詢余額函數(shù)中會輸出這個:

但是,我只想這一print只在單獨調用查詢余額函數(shù)時才出現(xiàn),為實現(xiàn)這一目標那就需要就一個if判斷語句
改進


這樣運行結果就是

完整代碼
money = 500000
name = None
#輸入姓名
name = input("請輸入您的姓名:")
#定義查詢函數(shù)
def query(show_header):
if show_header:
print("------------查詢余額--------------")
print(f"{name},您好,您所剩余額為{money}")
#定義存款
def saving(num):
global money
money+=num
print("------------存款--------------")
print(f"{name},您好,您存入{money}成功")
query(False)
#定義取款
def get_money(num):
global money
money -= num
print("------------取款--------------")
print(f"{name},您好,您取出{num}成功")
query(False)
#定義主菜單
def main():
print("------------主菜單--------------")
print(f"{name}您好,歡迎來到ATM,請選擇操作")
print("查詢余額:輸入1")
print("存款: 輸入2")
print("取款: 輸入3")
print("退出: 輸入4")
return input("請輸入您的選擇:")
#設置循環(huán)確保程序中不退出
while True:
keyboard_input = main()
if keyboard_input=="1":
query(True)
continue
elif keyboard_input=="2":
num =int(input("您想存入多少錢:"))
saving(num)
continue
elif keyboard_input=="3":
num = int(input("您想取出多少錢:"))
get_money(num)
continue
else:
print("程序退出了!")
break到此這篇關于Python實現(xiàn)ATM簡單功能的示例詳解的文章就介紹到這了,更多相關Python ATM功能內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python 限定函數(shù)參數(shù)的類型及默認值方式
今天小編就為大家分享一篇Python 限定函數(shù)參數(shù)的類型及默認值方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
python統(tǒng)計多維數(shù)組的行數(shù)和列數(shù)實例
今天小編就為大家分享一篇python統(tǒng)計多維數(shù)組的行數(shù)和列數(shù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python實現(xiàn)通過pil模塊對圖片格式進行轉換的方法
這篇文章主要介紹了python實現(xiàn)通過pil模塊對圖片格式進行轉換的方法,涉及Python中pil模塊的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03

