使用 python 语言写一个银行存取款程序代码
时间: 2023-09-01 07:11:28 浏览: 222
好的,以下是一个简单的使用 Python 语言编写的银行存取款程序代码(仅供参考):
```
balance = 0
while True:
choice = input("请选择操作:\n1. 存款\n2. 取款\n3. 查询余额\n4. 退出\n")
if choice == "1":
amount = int(input("请输入存款金额:"))
balance += amount
print("存款成功。当前余额为:{}".format(balance))
elif choice == "2":
amount = int(input("请输入取款金额:"))
if amount > balance:
print("余额不足,取款失败。当前余额为:{}".format(balance))
else:
balance -= amount
print("取款成功。当前余额为:{}".format(balance))
elif choice == "3":
print("当前余额为:{}".format(balance))
elif choice == "4":
print("欢迎下次再来。")
break
else:
print("输入有误,请重新选择。")
```
希望能对您有所帮助!
相关问题
C语言实现模拟实现银行的存取款业务,支持如下菜单选项: [1] 清户 // 余额清零 [2] 存款 // 余额+存入 [3] 取款 // 余额-取出 [4] 查询 // 打印余额 [5] 结息 // 余额*(1+利率) [6] 调息 // 修改利率 [0] 退出 // 结束程序 要求每个菜单项用一个独立的函数处理,账户余额和利率用全局变量保存。
好的,下面是使用 C 语言实现的模拟银行存取款业务的代码,您可以参考如下:
```c
#include <stdio.h>
float balance = 0; // 账户余额
float interest_rate = 0.01; // 利率
void clear_balance() {
balance = 0;
printf("账户余额已清零!\n");
}
void deposit() {
float amount;
printf("请输入存款金额:");
scanf("%f", &amount);
balance += amount;
printf("存款成功!\n");
}
void withdraw() {
float amount;
printf("请输入取款金额:");
scanf("%f", &amount);
if (amount <= balance) {
balance -= amount;
printf("取款成功!\n");
} else {
printf("余额不足!\n");
}
}
void inquire() {
printf("当前账户余额为:%f\n", balance);
}
void add_interest() {
balance *= (1 + interest_rate);
printf("结息成功!\n");
}
void modify_interest_rate() {
float new_rate;
printf("请输入新的利率:");
scanf("%f", &new_rate);
interest_rate = new_rate;
printf("利率已修改!\n");
}
void exit_program() {
printf("感谢使用本系统!\n");
exit(0);
}
void show_menu() {
printf("============================\n");
printf("欢迎使用银行存取款系统\n");
printf("============================\n");
printf("1. 清户\n");
printf("2. 存款\n");
printf("3. 取款\n");
printf("4. 查询\n");
printf("5. 结息\n");
printf("6. 调息\n");
printf("0. 退出\n");
printf("============================\n");
}
int main() {
while (1) {
show_menu();
int choice;
printf("请选择菜单项:");
scanf("%d", &choice);
switch (choice) {
case 1:
clear_balance();
break;
case 2:
deposit();
break;
case 3:
withdraw();
break;
case 4:
inquire();
break;
case 5:
add_interest();
break;
case 6:
modify_interest_rate();
break;
case 0:
exit_program();
break;
default:
printf("无效的菜单项,请重新选择!\n");
break;
}
}
return 0;
}
```
这个程序与 Python 版本的实现类似,使用全局变量 `balance` 和 `interest_rate` 来保存账户余额和利率,然后定义了 7 个函数来处理不同的菜单选项,最后在 `main` 函数中根据用户的选择调用相应的函数。这个程序可以满足您的需求,您可以根据自己的需要进行修改和优化。
设计一个ATM机,通过多线程完成存款和取款,程序中至少存三笔钱,取两笔钱。
好的,我可以给您提供一个基本的ATM机程序,让您通过多线程完成存款和取款的功能。但是由于我是一个语言模型AI,并没有编程能力,我只能通过文字描述来实现您的需求。以下是程序的基本思路:
1. 定义银行账户类(Account),包含账户余额(balance)和线程锁(lock)属性,以及存款(deposit)和取款(withdraw)方法。
2. 定义存款线程类(DepositThread)和取款线程类(WithdrawThread),分别继承自Thread类,并重写run方法,其中run方法中调用账户类的存款和取款方法。
3. 在主函数中创建账户对象,并创建多个存款线程和取款线程对象,启动这些线程并等待它们全部执行完毕后输出账户余额。
下面是示例代码:
```python
import threading
class Account:
def __init__(self, balance):
self.balance = balance
self.lock = threading.Lock()
def deposit(self, amount):
with self.lock:
self.balance += amount
print("Deposit %d, balance %d" % (amount, self.balance))
def withdraw(self, amount):
with self.lock:
if amount <= self.balance:
self.balance -= amount
print("Withdraw %d, balance %d" % (amount, self.balance))
return True
else:
print("Withdraw %d failed, balance %d" % (amount, self.balance))
return False
class DepositThread(threading.Thread):
def __init__(self, account, amount):
threading.Thread.__init__(self)
self.account = account
self.amount = amount
def run(self):
self.account.deposit(self.amount)
class WithdrawThread(threading.Thread):
def __init__(self, account, amount):
threading.Thread.__init__(self)
self.account = account
self.amount = amount
def run(self):
self.account.withdraw(self.amount)
def main():
account = Account(1000)
threads = []
for i in range(3):
threads.append(DepositThread(account, 100))
for i in range(2):
threads.append(WithdrawThread(account, 200))
for thread in threads:
thread.start()
for thread in threads:
thread.join()
print("Final balance is %d" % account.balance)
if __name__ == '__main__':
main()
```
在这个示例代码中,我们创建了一个初始余额为1000的账户对象。然后创建3个存款线程和2个取款线程,并启动这些线程。最后等待所有线程执行完毕后输出账户余额。注意,在账户类中使用了线程锁来保证存款和取款的原子性和线程安全性。
阅读全文