1. 设计一个程序,模拟显示手机每月消费情况信息,外部输入的量有:num_id手机号,use_money当月消费,left_money剩余话费,net剩余流量。输出时分别用%,format(),f-string格式化字符串。
时间: 2024-11-27 13:18:09 浏览: 7
为了设计一个模拟显示手机每月消费情况的程序,我们可以创建一个简单的类来存储用户信息,并提供一个函数来展示该信息。下面是一个Python示例:
```python
class MobileUser:
def __init__(self, num_id, initial_use_money=0, initial_left_money=0, initial_net=0):
self.num_id = num_id
self.use_money = initial_use_money
self.left_money = initial_left_money
self.net = initial_net
def consume(self, money, net_usage):
if money <= self.left_money:
self.use_money += money
self.left_money -= money
self.net -= net_usage
else:
print(f"警告:账户余额不足,只消费了{money - self.left_money}元。")
def display_monthly_summary(self):
# 计算消费比例
consumption_percentage = (self.use_money / self.initial_left_money) * 100 if self.initial_left_money > 0 else 0
# 格式化输出
formatted_balance = f"{self.left_money:.2f}"
formatted_consumption = f"{self.use_money:.2f}"
formatted_net = f"{self.net} MB"
summary = f"手机月消费记录:\n"
summary += f"号码:{self.num_id}\n"
summary += f"总消费:{formatted_consumption}元,占初始余额的{consumption_percentage:.2f}%\n"
summary += f"剩余话费:{formatted_balance}元\n"
summary += f"剩余流量:{formatted_net}\n"
return summary
# 使用示例
user1 = MobileUser('123456', 1000, 2000)
user1.consume(800, 100) # 消费800元,假设100MB流量费用
print(user1.display_monthly_summary())
```
在这个例子中,`MobileUser`类可以接受用户的手机号、初始话费和流量,然后通过`consume`方法模拟消费并更新余额。`display_monthly_summary`方法会展示详细的消费情况,包括消费金额、消费占比、剩余话费和流量。
阅读全文