酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下s键,程序开始计时;当读者还书时,管理员输入书号并按下e键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。 注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有s没有e,或者只有e没有s的纪录,系统应能自动忽略这种无效纪录。另外,题目保证书号是书的唯一标识,同一本书在任何时间区间内只可能被一位读者借阅。

以下是用 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. 时间计算的精度可能会受到系统时钟的影响。 [2024-12-01 22:39:11 | AI写代码神器 | 434点数解答]

相关提问