问题7:如何实现用户的历史记录功能(最多n条)

Posted Volcano!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问题7:如何实现用户的历史记录功能(最多n条)相关的知识,希望对你有一定的参考价值。

实例:制作猜字游戏,添加历史记录功能,显示用户最近猜过的数字

 

解决方案:使用容量为n的队列存储历史记录

  1. 使用标准库colections中的deque,一个双端循环队列
  2. 程序退出前,可以使用pickle将队列对象存入文件,再次运行程序时将导入其中

deque(序列, n):生成一个容量为n的序列,当序列中存储第n+1个数据时,则从左/右将溢出一个数;

pickle.dump(python对象, 文件名, 文件权限):创建一个文件,并将一个python对象存储其中;

from collections import deque
from random import randint
import pickle

history = deque([], 5)
a = randint(0, 20)

def guss(b)
    if b == a:
        print(right)
        return True
    if b < a:
        print(%s is less-than a%b)
    else:
        print(%s is greater-than a%b)

while True:
    b0 = input(please input a number:)
    if b0.isdigit() and b0 =! history:
        b = b0
        history.append(b)
        if guss(b):
            break
pickle.dump(history, open(histoy, w))
#将历史记录存储值文件history;
q = pickle.load(open(history))
#读取history文件内的历史记录;

 

以上是关于问题7:如何实现用户的历史记录功能(最多n条)的主要内容,如果未能解决你的问题,请参考以下文章

用队列实现用户的历史记录功能(最多n条)?

shell基础

python数据结构-如何实现用户的历史记录功能

命令历史及“!”的使用

linux命令历史

7-14 电话聊天狂人