美文网首页
python(历史记录)

python(历史记录)

作者: OldSix1987 | 来源:发表于2016-09-02 15:25 被阅读213次

    案例


    制作了一个简单的猜数字的小游戏,添加历史记录功能,显示用户最近猜过的数字,如何实现?

    分析


    from random import randint
    from collections import deque
    import pickle
    
    N = randint(0, 100)  # 产生一个0-100的整数
    history = deque([], 5)  # 产生一个容量为5个数的双端循环队列(双头栈:先进先出,), [1, 2, 3, 4, 5] => [2, 3, 4, 5, 6]
    
    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)  # 因为line是字符串,所以还需要再强制转换为int类型的数字
            history.append(k)
            if guess(k):
                break
        elif line == 'history'or line == 'h?':
            print(list(history))
    
    # 需要注意的是,在Python3中,必须注明文件的写入和读取方式(‘wb’,‘rb’),否则会直接报错
    pickle.dump(history, open('history', 'wb'))  # 写文件
    q2 = pickle.load(open('history', 'rb'))  # 读文件
    
    print(q2)
    

    相关文章

      网友评论

          本文标题:python(历史记录)

          本文链接:https://www.haomeiwen.com/subject/bjahettx.html