以下代码在python3.6 和windows 10 环境下通过验证
使用场景
历史记录的应用场景太常见了, 不多介绍了,下面是脚本代码,可以直接粘贴后运行下
脚本代码
from random import randint
from collections import deque
import pickle
N = randint(1, 100)
def guess(k):
if k == N:
print('right')
return True
elif k >= N:
print('大了')
else:
print('小了')
return False
if __name__ == '__main__':
try:
history = pickle.load(open('history'))
except Exception as e:
print('暂无历史记录...')
history = deque([], 5)
while True:
line = input('please input a number:')
if line.isdigit(): # 判断录入的内容是否是纯数字
k = int(line)
history.append(k)
if guess(k):
pickle.dump(history, open('history', 'wb+')) # 在代码退出前保存历史记录
break
elif line =='h?' or line == 'history':
print(list(history))
else:
print('muse be a number!')
小结:
- 正常跑下来是可以的.
- 这个代码有个BUG: 就是历史记录的存储,没有存储成功,重新运行代码都是加载历史记录失败.待解决.