小甲鱼亲儿子 发表于 2016-2-5 18:31:05

[python学习][第002天]学会了循环,做个了好东西,嘿嘿,耶~

本帖最后由 小甲鱼亲儿子 于 2016-2-5 18:33 编辑

       
        大家好,我是小甲鱼亲儿子,没错,这是我学Python的第二天。今天我又观看了爹地的视频!!呼,视频看了好久呢,突然想做点儿东西了呢。做点儿什么呢,“输入内容记录器”!什么意思呢,就是这个程序可以记录我们输入的所有东西,然后用我们定义的秘密指令召唤强大的神器,现实我们输入的内容,类似QQ里面的聊天记录。嘿嘿嘿,那我们就开始做吧~~
      因为看了爹地的关于字符串操作的那么多函数,所以这个“输入内容记录器”会有很多功能,下面我们简单列出一下,要实现的功能。
      要实现的功能如下:
                1、将输入的东西按照时间的顺序,把时间 + 内容存储到一个列表里
                2、提供简单的搜索功能,可以搜索最近输入的几条东西
                3、提供简单的命令行,来召唤功能。例:“{搜索   我爱你}”、“{输出}”

      好,我们按步骤来实现。首先,实现第一个功能。代码如下:
        代码如下:
#定义全局变量
输入信息记录器= []


#程序开始
输入 = ''
while True:#这里用了死循环,目的是为了一直接受输入~
    输入 = input("正在接收:")
    if '{退出}' == 输入:
      print('退出')
      break
   
    elif '{输出}' == 输入:
      print('=====================输出所有输入的消息===================')
      for 一条消息 in 输入信息记录器:
            print(一条消息)
      print('===================输出所有输入的消息完毕=================')
      
    elif 0 == 输入.find('{查找'): # 如果字符串开头是{查找,则为查找命令,继续解析
      #提取要查找的信息,排除最后面的花括号右半部分 “}”
      查找的内容 = str.lstrip(输入.partition('查找'))[:-1]

       #遍历信息记录器,寻找要查找的内容
      print("=========================查找开始======================")
      计数 = 0
      输出的文本 = '第{位置}处:{内容}'
      for x in 输入信息记录器:
            if -1 != x.find(查找的内容):
                计数 += 1
                print(输出的文本.format(位置=计数, 内容 = x))
      print("=========================查找结束======================")
    elif '{清空}' == 输入:
      输入信息记录器.clear()
      print('=========================清空成功======================')
    else: # 记录输入的内容
      当前时间 = '09:23:60'#我还没有学到怎么获取时间
      输入信息记录器.append(当前时间 + ': ' + 输入) # 在第1个位置上插入我们输入的信息
      
print("程序结束,感谢使用!")

#程序结束



        程序输出结果如下,咩哈哈~~~

       
        程序其实不是很难,但是我却用了很多时间完善它,我既然要学Python ,就要学好它,绝对不能一瓶子不满,半瓶子晃悠。对了,简单的说一下这个程序的难点,肯定是下面这句了。 查找的内容 = str.lstrip(输入.partition('查找'))[:-1]这句话其实很好理解,我认真看了爹地讲解字符串的那个视频,lstrip的意思是去除字符串左边的空白字符,partition是将“输入”这个变量存储的字符串分成三个部分,后面的则是取了第三个部分,具体是怎样做到的呢,我们举个例子。
        >>> a = "{查找    fishc}"
>>> a.partition("{查找")
('', '{查找', '    fishc}')
>>> b = a.partition("{查找")
>>> b
'    fishc}'
>>> str.lstrip(b)
'fishc}'
>>> str.lstrip(b)[:-1] #这里是字符串的分片操作
'fishc'


OK,这个程序就到此位置啦,有没有一种QQ聊天记录查询的感觉呢?可惜没有界面,乳沟我学会了界面编程,一定也回来跟大家分享!对了,我是零基础看爹地的视频的,真的是零基础,这几天我学爹地的教程,有些地方不能理解,但是我没有放弃,一个视频反复钻研很多遍,也许我不是聪明的,但我一定是努力的,各位鱼油,加油吧,大家明天见哟~

{:9_225:}{:9_225:} {:9_225:} {:9_225:} {:9_225:} {:9_225:} {:9_225:} {:9_225:} {:9_225:}







Lnan95 发表于 2016-2-5 21:02:51

{:10_256:}加油~顶一下

DingRan 发表于 2016-2-5 23:08:59

顶~~~
我才知道原来变量名可以用汉字耶!!

自古天道酬勤 发表于 2016-2-6 01:21:16

瞅瞅是啥{:10_249:}

zuobianfy 发表于 2016-2-6 04:06:08

支持

苦哈哈 发表于 2016-2-6 07:57:15

不错哦,加油支持一下!!

伙夫和甲鱼 发表于 2016-2-6 11:01:10

厉害

worry921 发表于 2016-2-11 17:48:29

你真棒

春天的豆浆 发表于 2016-2-12 15:14:11

厉害啊!!!

wangguohui 发表于 2016-2-15 16:43:30

不错,这样也可以

Jimu 发表于 2016-2-17 13:11:05

两天这么BT好么

Yo才俊Miao 发表于 2016-2-17 16:05:50

{:10_254:}干巴爹

glory_star 发表于 2016-2-18 10:13:27

好有想法……

鱼皮 发表于 2016-2-18 11:38:24

楼主,马甲是这么做的吗?
变量名能不能不要用中文啊。你爹地似乎说要起个有意义的变量名。

肚肚装炸弹 发表于 2016-2-24 11:15:46

看完之后才知道变量名字可以用汉字的。。。

waidy 发表于 2016-2-24 15:58:12

為什麼 list可以用 .clear()
   例如 a=
   a.clear() 應該是不能清空list的

selam 发表于 2016-2-24 16:26:36

厉害哦   

cjfj114 发表于 2016-3-1 18:09:43

朋友, 你真的才学习了2天吗?是不是有编程的基础的哦

poiulp 发表于 2016-3-24 13:09:40

加油!
页: [1]
查看完整版本: [python学习][第002天]学会了循环,做个了好东西,嘿嘿,耶~