如何更改文本打印的速度(python)

enr*_*334 -1 python

我想要完成的是第一个文字出现在1秒后.那么2,等等.直到10.然后当时间等于10时,时间减少,所以文字出现在9秒后,然后是8等.

我如何修复此代码以使其正常工作?

错误:

Traceback (most recent call last):
  File "C:/Users/Eric/Dropbox/time.py", line 13, in <module>
    time.sleep(time)
AttributeError: 'int' object has no attribute 'sleep'
Run Code Online (Sandbox Code Playgroud)

代码 :

import time
x = 1
t = 1
time = t + 1
while x == 1:


    print time
    if time >=10:
        time = t - 1
    elif time <= 0:
        time = t + 1
    time.sleep(time)
Run Code Online (Sandbox Code Playgroud)

编辑:

import time
x = 1
t = 1
time1 = 0
while x == 1:

    if time1 == 10:
        time1 = time1 - 1
    elif time1 == 0:
        time1 = time1 + 1
    else :
        time1 = time1 + 1
    print time1
    time.sleep(time1)
Run Code Online (Sandbox Code Playgroud)

所以我改变了abit的程序,所以我几乎正常工作.它的作用是数到10,然后是9,然后回到10.1,2,3,4,5,6,7,8,9,10,9,10,9,10如何设置它以便程序将时间增加到10然后减少到零再增加?

rid*_*rid 5

您将time通过自己的time变量(第4 行)覆盖导入的模块(第1 行).您可以:

  • 将您的time变量重命名为其他内容

    import time
    x = 1
    t = 1
    time_passed = t + 1 # use "time_passed" instead of "time" for example
    while x == 1:
        print time_passed
        if time_passed >= 10:
            time_passed = t - 1
        elif time_passed <= 0:
            time_passed = t + 1
        time.sleep(time_passed)
    
    Run Code Online (Sandbox Code Playgroud)
  • 别名进口time与模块import time as tm使用tm.sleep(time)

    import time as tm # alias the time module as "tm" for example
    x = 1
    t = 1
    time  = t + 1
    while x == 1:
        print time
        if time >= 10:
            time = t - 1
        elif time <= 0:
            time = t + 1
        tm.sleep(time) # use "tm" to refer to the module
    
    Run Code Online (Sandbox Code Playgroud)
  • 只导入sleeptimefrom time import sleep和使用sleep(time),而不是

    from time import sleep # only import "sleep" from time, not the whole module
    x = 1
    t = 1
    time  = t + 1
    while x == 1:
        print time
        if time >= 10:
            time = t - 1
        elif time <= 0:
            time = t + 1
        sleep(time) # use "sleep" directly
    
    Run Code Online (Sandbox Code Playgroud)

修复此问题后,您还需要以某种方式记住,您需要在下一次迭代时增加或减少时间.例如:

from time import sleep
x = 1
t = 1
time  = t + 1
incr = True
while x == 1:
    print time
    if time >= 10:
        time = 9
        incr = False
    elif time <= 0:
        time = t + 1
        incr = True
    else:
        if incr:
            time = time + 1
        else:
            time = time - 1
    sleep(time)
Run Code Online (Sandbox Code Playgroud)