Python之旅Week 1 Day 4

今日小计
今天跟平常没什么两样,跟老师聊了聊自己的想法,晚上学习了一下AD的知识(不是广告啊,推荐凡亿的那款免费的教程,我觉着不错,跟着学了一遍,忘了好多,今天开始再温习一遍),希望我能一直陪着那个Ta,希望吧,一切都是最好的安排…进入正题:

本周的主要内容是:数据结构与算法相关问题与解决技巧

Python必刷题之五:

  1. 如何实现用户的历史记录功能(最多n条):

现实问题:制作一个小的游戏(猜数字),添加一个历史记录的功能,显示用户最近猜过的数字,怎样实现?

解决方法解读:
使用容量为n的队列存储历史记录
使用标准库collections中的deque,他是一个双端循环队列
程序退出前,可以使用pickle将队列对象存入文件,再次运行程序即将其导入
注意:这里需要一个方法就是判断输入字符串是否是数字或者是字母
s=input("please inupt string")
print(s.isdigit())     #用isdigit函数判断是否数字
print(s.isalpha())   #isalpha判断是否字母
print(not (s.isalpha() or s.isdigit()) and s.isalnum())  
#isalnum判断是否数字和字母的组合


from random import randint
from collections import deque
import pickle
N=randint(0,100)
history=deque([],5)
print(N)
def Guess(num):
    if num<N:
        print('This number is litter than True one.')
        return False
    elif num>N:
        print('This number is bigger than True one.')
        return False    elif num==N:
        print('You Win')
        return True
while True:
    line=input()
    if line.isdigit():
        #print('isDigit')
        history.append(line)
        if Guess(int(line)):
            break
    elif line=='history' or line=='his':
        print(history)        elif line=='exit':
        #pickle.dump(history,open('c:\Users\昨天\Desktop\history.txt','w'))
        break
 ##输出结果:
需要猜的数字——》84
36
This number is litter than True one.
69
This number is litter than True one.
88
This number is bigger than True one.
history
deque(['36', '69', '88'], maxlen=5)
exit

在我们退出该系统是应该需要加入我们的文件读取操作,这里推荐大家看一下廖雪峰的文件操作的相关文章,一下附链接:如有侵犯请联系我删除:

https://www.liaoxuefeng.com/wiki/1016959663602400/1017607179232640

其实我觉得这些网上的教程都还不错,想要学习的话,可以配合这里的题,来一同学习,声明没有做广告哈!!!

每日小结
初中时的校训是:“每天进步一点点”,所以,每天合理安排自己的时间还是可以学习不少东西的,如果有想要学习Python,Java,Android,物联网,单片机的同学,可以与我一起学习,直接留言就好了,加油,努力,永远不要放弃!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值