项目总目标:用面向过程思想设计一个简单的银行账号模拟程序。本次将迭代多个程序版本,每个版本都将添加更多功能。虽然这些程序没有达到发布的质量标准,但整个项目的目的是关注于代码如何与一个或多个银行账户的数据进行交互。
分析项目的必要操作和数据:
客户对银行账户的操作包括 创建账户;存款,取款,查询余额
银行需要的数据包括 客户姓名;密码;余额
项目2.1 单个账户的创建和存款
# 定义了账户的相关信息
accountName = 'Joe'
accountBalance = 100
accountPassword = 'abed'
# 表示程序将一直执行,直到遇到break语句跳出循环。
while True:
# 在每次循环开始时,会打印出一些指令供用户选择操作。指令包括查询余额、存钱、取款、显示账户和退出系统。
print()
print('b 查询余额')
print('d 存钱')
print('w 取款')
print('s 显示账户')
print('q 退出系统')
print()
action = input('输入指令: ')
action = action.lower() # force lowercase
action = action[0] # just use first letter
print()
# 用户输入的指令进行处理。在这段代码中,只处理了存钱('d')的操作
if action == 'd':
# 如果用户选择了存钱操作,程序会要求用户输入存款的数量(整数)和密码。
print('存钱:')
userDepositAmount = input('输入存钱数量(整数): ')
userDepositAmount = int(userDepositAmount)
userPassword = input('请输入密码: ')
# 如果存款数量为非负数且密码验证通过,那么将存款金额加到账户余额accountBalance上
if userDepositAmount < 0:
print('不可以存入负数!')
elif userPassword != accountPassword:
print('密码错误')
else: # OK
accountBalance = accountBalance + userDepositAmount
print('当前账号余额为:', accountBalance)
效果如下:
代码分析:
这段代码是一个简单的银行账户程序,用于处理存款操作。
首先,定义了账户的相关信息,包括账户名称accountName
('Joe')、账户余额accountBalance
(100)和账户密码accountPassword
('abed')。
接下来,使用一个无限循环while True
,表示程序将一直执行,直到遇到break
语句跳出循环。
在每次循环开始时,会打印出一些指令供用户选择操作。指令包括查询余额、存钱、取款、显示账户和退出系统。
然后,程序会要求用户输入一个指令,将用户输入的指令存储在变量action
中。
接下来,对用户输入的指令进行处理。在这段代码中,只处理了存钱('d')的操作。
如果用户选择了存钱操作,程序会要求用户输入存款的数量(整数)和密码。
然后,程序会进行一系列验证:
- 首先,检查用户输入的存款数量
userDepositAmount
是否小于0,如果是,则打印提示信息"不可以存入负数!"。 - 其次,检查用户输入的密码
userPassword
是否与账户密码accountPassword
相等,如果不相等,则打印提示信息"密码错误"。 - 如果存款数量为非负数且密码验证通过,那么将存款金额加到账户余额
accountBalance
上,并打印出"当前账号余额为:"以及更新后的账户余额。
这样,当用户选择存钱操作并通过验证时,程序会将存款金额加到账户余额,并显示更新后的余额给用户。
需要注意的是,这只是程序的一部分,只处理了存钱操作,其他指令(查询余额、取款、显示账户、退出系统)还没有进行处理。后面的项目陆续会包含对这些指令的处理逻辑。·