在一次酒会上,富翁A遇到了骗子B。骗子对富翁说:“我成立了一个互助基金会,您可以将短期不用的资金存到我这里来,存期30天。第一天您只需要存入1分钱,第二天存入两分钱,依次类推,以后每天存入的钱是前一天的两倍,直到30天期满(含30天)。从您存入钱的第一天开始,您每天可以支取30万元,一直到30天期满(含30天)。”富翁觉得有利可图,欣然同意,两人签订了协议,约定按照上述要求存入资金,并且每天按照最大额度提取资金,合约结束后两人就互不相欠。 请完善下述程序,从键盘读入合约天数以及单日取款金额,计算并输出富翁的盈亏金额。 函数接口定义: def deposit(n) def withdraw(n,amount) 函数deposit(n)用于求n天的存钱总额; 函数withdraw(n,amount)用于求n天的提款总额,其中,参数amount为每日提款额
时间: 2023-06-23 22:09:42 浏览: 132
完整程序如下:
```python
def deposit(n):
total = 0.01
for i in range(2, n+1):
total += 2**(i-2) * 0.01
return total
def withdraw(n, amount):
total = 0
for i in range(1, n+1):
total += amount
return total
# 从键盘读入合约天数和单日取款金额
n = int(input("请输入合约天数:"))
amount = int(input("请输入单日取款金额:"))
# 计算富翁的盈亏金额
total_deposit = deposit(n)
total_withdraw = withdraw(n, amount)
profit = total_withdraw - total_deposit
# 输出结果
print("存款总额为:%.2f元" % total_deposit)
print("提款总额为:%d元" % total_withdraw)
print("盈亏金额为:%.2f元" % profit)
```
在程序中,函数`deposit(n)`用于计算n天内的存款总额,初始存款为0.01元,每天存入的金额是前一天的两倍。函数`withdraw(n, amount)`用于计算n天内的提款总额,每天提款的金额为参数`amount`。最后,我们从键盘读入合约天数和单日取款金额,计算富翁的盈亏金额,并输出结果。