7. 实现用户的历史记录功能

例如,很多应用程序都有浏览用户的历史记录的功能:

  1. 浏览器可以查看最近访问过的网页。
  2. 视频播放器可以查看最近播放过的视频文件。
  3. Shell可以查看用户输入过的命令。

要求:现在制作一个简单的猜数字游戏,添加历史记录功能,显示用户最近猜过的数字。

解决方案:

使用容量为n的队列存储历史记录。使用标准库中collections中的deque,它是一个双端循环队列;再使用pickle模块将历史记录存储到硬盘,以便下次启动使用。


  • 对于deque()函数:
deque([iterable[, maxlen]])

deque()函数提供了两端都可以操作的序列,在序列的前后你都可以执行添加或删除操作。maxlen为队列容量。

  • 对于isdigit()方法:

isdigit()方法用来检测字符串是否只由数字组成。如果字符串只包含数字则返回True,否则返回False。

  • 对于append()方法:

append()方法用于在列表末尾添加新的对象,即右端入列;appendleft()方法用于在列表开头添加新的对象,即左端入列。

与之类似的还有pop()方法,pop()方法用于在列表末尾取出新的对象,即右端出列;popleft()方法用于在列表开头取出新的对象,即左端出列。

  • 对于pickle模块:
pickle.dump(obj, file, protocol, fix_imports)

pickle.load(file, fix_imports, encoding, errors)

pickle模块以二进制形式实现基本的数据序列和反序列化。通过pickle模块的序列化操作pickle.dump()方法能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作pickle.load()方法能够从文件中创建上一次程序保存的对象。


  • 方案示例:
from random import randint
from collections import deque

def guess(n, k):
 
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值