黑马银行ATM机器人
作为一个程序员,我们经常需要练习编写简单的控制台程序。这里,我们模拟了一个简单的银行ATM机器人,供大家参考。
程序设计
首先,我们需要定义一些全局变量,如用户余额、用户名等。然后,我们可以定义查询函数 query()
、存款函数 saving()
和取款函数 get_money()
,以便用户可以执行不同的操作。最后,我们使用一个无限循环来显示主菜单,并根据用户的选择执行不同的操作。
完整代码
# 定义全局变量 money name money = 5000000 # 要求客户输入姓名 print() _name = input("请输入你的名字") # 定义查询函数,可以显示标题或不显示标题 def query(show_header): # 如果需要显示标题,则输出 “-----查询余额----” if show_header: print("-----查询余额----") # 输出客户当前的余额 print(f"{_name}你好,你的余额是:{money}") # 定义存款函数,传入存款金额 _num def saving(_num): # global 关键字用于访问全局变量 global money # 将存款金额加到全局变量 money 中 money += _num # 输出存款成功信息 print("----------存款----------------") print(f"{_name}你好,你存款:{_num}元成功。") # 查询余额 query(False) # 定义取款函数,传入取款金额 _num def get_money(_num): # global 关键字用于访问全局变量 global money # 如果余额不足,输出取款失败信息并返回 if money < _num: print("----------取款失败----------------") return # 将取款金额从全局变量 money 中减去 money -= _num # 输出取款成功信息 print("----------取款----------------") print(f"{_name} 你好,你取款:{_num}元成功。") # 查询余额 query(False) # 主菜单函数,用于显示主菜单和获取用户的选择 def main(): print("------主菜单------") print(f"{_name}你好,欢迎来到黑马银行ATM,请选择操作") print("查询余额:\t[输入1]") print("存款:\t\t[输入2]") print("取款:\t\t[输入3]") print("推出:\t\t[输入4]") # 获取用户的输入,并返回 return input("请输入你的选择: ") # 无限循环,直到用户选择退出 while True: # 显示主菜单并获取用户的选择 keyboard_input = main() # 如果用户选择查询余额,则执行查询函数 if keyboard_input == "1": query(True) continue # 如果用户选择存款,则获取存款金额并执行存款函数 if keyboard_input == "2": num = input("您想存多少钱?请输入:") if not num.isdigit(): print("输入错误,请输入一个整数。") continue saving(int(num)) continue # 如果用户选择取款,则获取取款金额并执行取款函数 if keyboard_input == "3": num = input("您想取多少钱?请输入:") if not num.isdigit(): print("输入错误,请输入一个整数。") continue get_money(int(num)) continue # 如果用户选择退出,则执行查询函数并退出循环 if keyboard_input == "4": query(True) break # 如果用户输入不正确,则输出错误信息并重新显示主菜单 else: print() print("------------输入不对!-----------") print("------------输入不对!-----------") print("------------输入不对!-----------") print() continue
运行效果
当程序运行时,首先会要求用户输入姓名,然后显示主菜单:
请输入你的名字:ChatGPT ------主菜单------ ChatGPT你好,欢迎来到黑马银行ATM,请选择操作 查询余额: [输入1] 存款: [输入2] 取款: [输入3] 推出: [输入4] 请输入你的选择:
接下来,用户可以根据需要选择不同的操作。例如,如果用户选择查询余额,则程序会显示余额信息:
-----查询余额---- ChatGPT你好,你的余额是:5000000
如果用户选择存款或取款,则需要输入存/取款金额,并执行相应的操作。例如,如果用户选择存款并输入 1000 元,则程序会显示存款成功信息和更新后的余额:
您想存多少钱?请输入:1000 ----------存款---------------- ChatGPT你好,你存款:1000元成功。 ChatGPT你好,你的余额是:5001000
类似地,如果用户选择取款并输入 2000 元,则程序会显示取款成功信息和更新后的余额:
您想取多少钱?请输入:2000 ----------取款---------------- ChatGPT 你好,你取款:2000元成功。 ChatGPT你好,你的余额是:4999000
当用户选择退出时,程序会首先显示最终余额信息,然后结束运行:
-----查询余额---- ChatGPT你好,你的余额是:4999000
总结
在本文中,我们学习了如何编写一个简单的银行ATM机器人程序。通过使用全局变量和函数来实现不同的操作,我们可以让程序更加模块化和易于维护。此外,我们还学习了如何使用无限循环和条件语句来控制程序的流程。
当然,这只是一个非常简单和基础的例子。在实际的应用中,我们需要考虑更多的情况和复杂性,并编写更健壮和可扩展的代码。
希望这篇博客能对你有所帮助,如果你有任何问题或意见,请在评论区留言。