Python巨咖教你如何实现用户的历史记录功能,干货,满满的

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

from random import randint 
N = randint(0,100)
def guess(k):
 if k == N:
 print('right')
 return True
 if k < N:
 print('猜小了')
 else:
 print('猜大了')
 return False
while True:
 line = input('输入一个数字:')
 if line.isdigit():
 k = int(line)
 if guess(k):
 break

接下来,我们看一下如何记录最近输入的五次值。

from collections import deque
q = deque([],5)
q.append(1)
q.append(2)
q.append(3)
q.append(4)
q.append(5)
在次添加,会把第一次添加的踢出。
q.append(6)

deque([2, 3, 4, 5, 6]) 

接下来代码改写

from random import randint 
from collections import deque 
N = randint(0,100)
history = deque([],5)
def guess(k):
 if k == N:
 print('right')
 return True
 if k < N:
 print('猜小了')
 else:
 print('猜大了')
 return False
while True:
 line = input('输入一个数字:')
 if line.isdigit():
 k = int(line)
 history.append(k)
 if guess(k):
 break
 elif line == 'history' or line == 'h?':
 print(list(history))

这样虽然完成了功能,但是当程序运行结束,关闭程序保存的记录就消失了。因为是保存到内存中的,当程序关闭,内存就释放了。

写入

pickle.dump(history,open('guess.txt','wb'))

读写

list(pickle.load(open('guess.txt','rb')))

如果需要Python入门课程添加本猿VX:logic_juran即可,限时免费领取。

猜你喜欢

转载自blog.csdn.net/weixin_44469638/article/details/86624482