最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)歷史記錄功能(實際案例)

 更新時間:2022年04月29日 10:53:43   作者:AllardZhao  
很多應(yīng)用程序都有瀏覽用戶的歷史記錄的功能,瀏覽器可以查看最近訪問過的網(wǎng)頁,現(xiàn)在我們制作了一個簡單的猜數(shù)字的小游戲,添加歷史記錄功能,顯示用戶最近猜過的數(shù)字,如何實現(xiàn)呢?跟隨小編一起看看吧

1、如何實現(xiàn)用戶的歷史記錄功能(最多n條)

實際案例:

很多應(yīng)用程序都有瀏覽用戶的歷史記錄的功能,

例如:

瀏覽器可以查看最近訪問過的網(wǎng)頁;

視頻播放器可以查看最近播放過視頻文件;

Shell可以查看用戶輸入過的命名;

... ...

現(xiàn)在我們制作了一個簡單的猜數(shù)字的小游戲,添加歷史記錄功能,顯示用戶最近猜過的數(shù)字,如何實現(xiàn)?

注:歷史記錄不能是無限條需要加限定。只顯示最近5次的歷史記錄,其它的拋棄掉。

解決方案:

使用容量為n的隊列存儲歷史記錄

使用標準庫collections中的deque,它是一個雙端循環(huán)隊列。

程序退出前,可以使用pickle將隊列對象存入文件,再次運行程序時將其導(dǎo)入。

2、代碼演示

(1)deque雙端隊列簡單使用

from collections import deque
 
# 創(chuàng)建帶有容量的隊列
q = deque([], 5)
# 一次添加多個元素
a = [1, 2, 3, 4, 5]
q.extend(a)
print(q)
# 添加第6個元素,查看隊列時發(fā)現(xiàn)第1個元素已經(jīng)被擠出去了
q.append(6)
print(q)

(2)pickle保存對象到文件中或讀取文件中對象

q = deque([1, 2, 3, 4, 5], maxlen=5)
# 存儲對象到文件
pickle.dump(q, open('history', 'wb'))
# 讀取文件中對象
q2 = pickle.load(open('history', 'rb'))
print(q2)

(3)實現(xiàn)猜數(shù)字游戲的歷史記錄

from random import randint
from collections import deque
import pickle
# 猜數(shù)字游戲,首先產(chǎn)生一個0到100數(shù)字,然后讓用戶猜
N = randint(0, 100)
print('答案:' + str(N))
# 初始化隊列,容量為5
history = deque([], 5)
# 讀取文件中的歷史記錄
history = pickle.load(open('history', 'rb'))
print(history)
def guess(k):
    if k == N:
        print('right')
        return True
    if k < N:
        print('%s is less-than N' % k)
    else:
        print('%s is greater-than N' % k)
    return False
while True:
    line = input("Please input a number: ")
    if line.isdigit():
        k = int(line)
        # 記錄用戶輸入數(shù)字
        history.append(k)
        if guess(k):
            break
    elif line == 'history' or line == 'h?':
        # 用戶可以輸入命令查看歷史記錄
        print(list(history))
# 將歷史記錄保存到文件中
pickle.dump(history, open('history', 'wb'))

到此這篇關(guān)于Python實現(xiàn)歷史記錄功能的文章就介紹到這了,更多相關(guān)Python歷史記錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python使用re模塊爬取豆瓣Top250電影

    python使用re模塊爬取豆瓣Top250電影

    這篇文章主要介紹了python使用re模塊爬取豆瓣Top250電影的示例,幫助大家更好的理解和學(xué)習(xí)python 爬蟲,感興趣的朋友可以了解下
    2020-10-10
  • python格式化字符串的實戰(zhàn)教程(使用占位符、format方法)

    python格式化字符串的實戰(zhàn)教程(使用占位符、format方法)

    我們經(jīng)常會用到%-formatting和str.format()來格式化,下面這篇文章主要給大家介紹了關(guān)于python格式化字符串的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Python3如何實現(xiàn)Win10桌面自動切換

    Python3如何實現(xiàn)Win10桌面自動切換

    這篇文章主要介紹了Python3如何實現(xiàn)Win10桌面自動切換,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Python常用編碼的區(qū)別介紹

    Python常用編碼的區(qū)別介紹

    這篇文章介紹了Python常用編碼的區(qū)別,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • python讀取一個大于10G的txt文件的方法

    python讀取一個大于10G的txt文件的方法

    讀取文件是一個常用的功能,那么如何用python 讀取一個大于10G 的文件,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 布同 Python中文問題解決方法(總結(jié)了多位前人經(jīng)驗,初學(xué)者必看)

    布同 Python中文問題解決方法(總結(jié)了多位前人經(jīng)驗,初學(xué)者必看)

    首先談?wù)勎沂窃趺从龅絇ython中文輸入問題的。我寫了一個小工具,用來查詢Python的庫函數(shù)。
    2011-03-03
  • Python循環(huán)控制詳解

    Python循環(huán)控制詳解

    本文介紹了Python編程語言中關(guān)于for循環(huán)和if條件控制的一些基本使用,包含了單層循環(huán)的退出機制和多層循環(huán)的退出機制,使得我們在滿足特定條件時,可以直接結(jié)束多層循環(huán),需要的朋友可以參考下
    2024-07-07
  • 一文解密Python函數(shù)的實現(xiàn)原理

    一文解密Python函數(shù)的實現(xiàn)原理

    函數(shù)是任何一門編程語言都具備的基本元素,它可以將多個要執(zhí)行的操作組合起來,一個函數(shù)代表了一系列的操作。那就來看看Python函數(shù)的實現(xiàn)原理吧
    2023-03-03
  • python讀取json數(shù)據(jù)還原表格批量轉(zhuǎn)換成html

    python讀取json數(shù)據(jù)還原表格批量轉(zhuǎn)換成html

    這篇文章主要介紹了python讀取json數(shù)據(jù)還原表格批量轉(zhuǎn)換成html,由于需要對ocr識別系統(tǒng)的表格識別結(jié)果做驗證,通過返回的json文件結(jié)果對比比較麻煩,故需要將json文件里面的識別結(jié)果還原為表格做驗證,下面詳細內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • 解決numpy數(shù)組互換兩行及賦值的問題

    解決numpy數(shù)組互換兩行及賦值的問題

    這篇文章主要介紹了解決numpy數(shù)組互換兩行及賦值的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評論

新密市| 南宫市| 昌邑市| 岗巴县| 阿合奇县| 驻马店市| 海丰县| 那坡县| 独山县| 新龙县| 游戏| 台前县| 敦化市| 枞阳县| 邵阳县| 宝鸡市| 永修县| 云阳县| 海城市| 大英县| 安徽省| 塔城市| 平泉县| 吉林省| 抚远县| 塔河县| 饶阳县| 宝清县| 巴林左旗| 东阿县| 吕梁市| 耿马| 怀安县| 个旧市| 盈江县| 衡阳县| 金门县| 巍山| 丽江市| 大邑县| 磴口县|