日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

Python實現(xiàn)ATM簡單功能的示例詳解_python

作者:陽862 ? 更新時間: 2022-12-27 編程語言

一.局部變量、全局變量

1.什么是局部變量

作用范圍在函數(shù)內(nèi)部,在函數(shù)外部無法使用

2.什么是全局變量

在函數(shù)內(nèi)部和外部均可使用

3.如何將函數(shù)內(nèi)定義的變量聲明為全局變量

使用global關(guān)鍵字,global變量

二.global關(guān)鍵字

思考:

num=100

def testsA()
   print(num)
   
   
def testB()
   num=200
   print(num)
   
testA()                          #結(jié)果:100
testB()                          #結(jié)果:200
print(f'全局變量num={num}')      #結(jié)果:全局變量num=100

testB函數(shù)需要修改變量num的值為200,如何修改程序?

這時我們就需要把局部變量轉(zhuǎn)變?yōu)槿肿兞?,利用global關(guān)鍵字

演示

num = 200
def A():
    print(f"A:{num}")
def B():
    global num
    num = 500
    print(f"B:{num}")
 
A()
B()
print(num)

結(jié)果是

三.編寫ATM程序

要求

定義一個全局變量: money,用來記錄銀行卡余額(默認5000000)

定義一個全局變量: name,用來記錄客戶姓名(啟動程序時輸入)

定義如下的函數(shù):

  • 查詢余額函數(shù)
  • 存款函數(shù)
  • 取款函數(shù)
  • 主菜單函數(shù)

程序啟動后要求輸入客戶姓名

查詢余額、存款,取款后都會返回主菜單

存款、取款后,都應(yīng)顯示一下當前余額

客戶選擇退出或輸入錯誤,程序會退出,否則一直運行

詳細步驟

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.設(shè)置循環(huán),確保持續(xù)中途不退出

#設(shè)置循環(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

運行結(jié)果

存在問題

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

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

改進

這樣運行結(jié)果就是

完整代碼

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("請輸入您的選擇:")
#設(shè)置循環(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

原文鏈接:https://blog.csdn.net/weixin_63318044/article/details/128092565

欄目分類
最近更新