Python 实现图书借阅统计程序:含合法性判断与异常处理
以下是用 Python 实现的图书借阅统计程序: ```python import time # 用于存储借书记录 borrow_records = {} # 借书操作 def borrow_book(book_id): # 开始计时 borrow_records[book_id] = time.time() # 还书操作 def return_book(book_id): if book_id in borrow_records: # 计算阅读时间 reading_time = time.time() - borrow_records[book_id] del borrow_records[book_id] return reading_time else: # 无效的还书操作 return 0 # 主程序 borrow_count = 0 total_reading_time = 0 while True: book_id = int(input("请输入书号: ")) if book_id == 0: break operation = input("请输入操作(s 表示借书,e 表示还书): ") if operation =='s': borrow_book(book_id) borrow_count += 1 elif operation == 'e': reading_time = return_book(book_id) if reading_time!= 0: total_reading_time += reading_time # 输出结果 print("当天的读者借书次数为:", borrow_count) if borrow_count > 0: print("平均阅读时间为:", total_reading_time / borrow_count) else: print("平均阅读时间无法计算,因为当天无人借书。") ``` 额外需要注意的逻辑点: 1. 输入的书号和操作的合法性判断,比如书号不能是负数或超过 1000,操作只能是 's' 或 'e' 。 2. 考虑异常情况的处理,比如输入不是整数或者输入无法识别的操作。 3. 时间计算的精度可能会受到系统时钟的影响。 ######[AI写代码神器 | 434点数解答 | 2024-12-01 22:39:11]
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)496
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)380
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)449
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)441
- Python 代码:从错误到正确,精准找出指定范围内素数!(字节豆包 | 295点数解答 | 2024-11-14 19:32:40)249
- CentOS下Java进程出现futex_wait_queue_me问题的处理全流程(阿里通义 | 283点数解答 | 2023-11-20 14:51:26)487
- 替雷利珠单抗致免疫相关性糖尿病:病例报道与机制探讨,为临床用药敲响警钟( | 164点数解答 | 2024-10-11 14:52:52)289
- Python 代码转 C++:计算花朵鲜艳值总和(字节豆包 | 408点数解答 | 2026-04-19 21:50:57)19
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)350
- Java调用Python接口中文乱码?设置UTF - 8编码一招解决!(讯飞星火 | 263点数解答 | 2024-06-06 17:07:59)420
- 解决Java调用Python接口中文乱码问题:设置UTF - 8编码全攻略(讯飞星火 | 160点数解答 | 2024-06-06 17:18:39)443
- Java调用Python接口中文乱码问题:字符编码统一解决方案(讯飞星火 | 344点数解答 | 2024-06-06 17:19:55)550