zoukankan      html  css  js  c++  java
  • 180112 打字效果

    import sys,time #导入模块 sys模块,time模块
    
    f = open("老子",'r',encoding="utf-8") #打开文件 同一个目录里的名为“老子”的文件,打开为读取,用utf-8方式
    
    for line in f:  #循环读取刚刚打开的f的行line; for...in... 循环 ;for..in语句是个循环语句,它迭代一个对象的序列,现在,你需要知道的是一个序列只是一个有序的项目的集合。
        for i in line: #循环读取文字;读取上一行读取的行line里的每个文字,生成列表i
     sys.stdout.write(i) #标准输出 这就是导入sys模块的原因,用到其中的stdout.write,后面跟上(i)——标准输出上一行的文字列表i
    sys.stdout.flush() #刷新 这是间隔一段时间刷新的意思,sys.stdout .flush ...

    time.sleep(0.1) #输出时间控制 再次看到time模块的.sleep ,参数设定为(0.1)秒

    一直希望有动态打字效果,横向的一个个的打出来

    问了几个人,都不知道。只告诉我竖向的。

    后来终于找到了。

    现在详细的解析一下代码含义

    for循环然后遍历这个范围

     for line in f :

    遍历f的每一行line,生成新的list,line for line in ...是为了对遍历的每一行做处理的,比如
    [line.strip() for line in file()] 这样生成的list中的每一个line都是经过了strip操作的,或者我要取每一行的前面几个字符就是 [line[:3] for line in file()],只不过你这个地方是没有做任何处理。

    for循环然后遍历这个范围,for i in range(1,5)相当于 for i in [1, 2, 3, 4],这就像把序列中的每一个数(或对象)分配给i,一次一个,然后为每个i值执行该语句块。在本例中,在语句块中我们只是打印它的值。

    同样的:for i in line

    sys模块的sys.stdout  —— write()  ; flush()

    最后,time.sleep()

  • 相关阅读:
    hoj 1061 排列树问题
    [译稿]Google的9条创新原则(转)
    vs2008 Sys未定义比较完整的解决方案
    js右下角升起小窗口脚本示例
    扩展了flash8里array的方法
    js 滚动、切换代码的搜集
    prototype 1.3.1 跟 ajax冲突!!!莫名其妙!
    用AS删除Flash中输入文本开始和结尾的空格【转载】
    Flash右键触发与屏蔽
    实现Flash跨域访问
  • 原文地址:https://www.cnblogs.com/cputn/p/8277318.html
Copyright © 2011-2022 走看看