如何實現使用者的歷史記錄功能 最多n條 ?

2022-06-22 12:03:09 字數 1086 閱讀 2821

現在我們製作乙個簡單的猜數字的小遊戲,

如何新增使用者的歷史記錄功能,顯示使用者最近猜過的數字?

思路:使用容量為n的佇列來儲存歷史記錄

使用標準庫的中collections的deque,它是乙個雙端迴圈佇列

使用pickle模組將歷史記錄儲存到硬碟,以便下次啟動再用

**:

#!/usr/bin/python3

from random import randint

from collections import deque

import pickle,os

def guess(n,k):

if n == k:

print('猜對了,這個數字是%d.' % k)

return true

if n < k:

print('猜大了,比%d小.' % k)

elif n > k:

print('猜小了,比%d大.' % k)

return false

def main():

n = randint(1,100)

i = 1

hq = deque(,5)

if os.path.exists('history.pkl'):

hq = pickle.load(open('history.pkl','rb'))

while true:

line = input('[%d] 請輸入乙個數字:' % i)

if line.isdigit(): # 判斷字串是否是只由數字組成

k = int(line)

i += 1

if guess(n,k):

break

elif line == 'quit':

pickle.dump(hq,open('history.pkl','wb')) # 將歷史記錄儲存到本地的檔案中,以便下次執行還可以進行檢視

break

elif line == 'h?':

print(list(hq))

if __name__ == '__main__':

main()

如何實現使用者的歷史記錄功能(最多n條)

實際案例 很多應用程式都有瀏覽使用者的歷史記錄的功能,如 現在我們製作了乙個簡單的猜數字的小遊戲,新增歷史記錄功能,顯示使用者最近猜過的數字,如何實現?小遊戲 如下 coding utf 8 from random import randint n randint 0,100 defguess k ...

用佇列實現使用者的歷史記錄功能(最多n條)?

zero,one,two,three,fous,five,six,seven,eight,nine range 10 author cairo 用佇列實現使用者的歷史記錄功能 最多n條 實際案例 猜數字小遊戲 新增歷史記錄功能,顯示使用者最近的狀態 from collections import d...

yum history 歷史記錄功能

現在的 yum 帶有歷史記錄功能,可以檢視過往的事務,重做或回滾這些事務.顯示事務的命令是 yum history 在歷史中搜尋某個軟體包是 yum history list x 顯示某個事務的詳細資訊用 yum history info n n是事務編號,重做是 yum history redo ...