[英]How to change speed at which text is printed (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'
編碼 :
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)
編輯:
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)
所以我改變了程序,所以我幾乎可以正常工作。 它的作用是計數到10,然后是9,然后返回到10。 1,2,3,4,5,6,7,8,9,10,9,10,9,10我如何設置它,以便程序將時間增加到十,然后減少到零,然后又增加?
您將使用自己的time
變量(第4行)覆蓋導入的time
模塊(第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)
使用tm.sleep(time)
將導入的time
模塊import time as tm
別名, import time as tm
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
只導入sleep
的time
與from 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
修復此問題后,您還需要以某種方式記住在下一次迭代時需要增加或減少時間。 例如:
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)
您要在導入后重新定義“時間” ...
嘗試使用其他變量名。
您的time
變量與您導入的模塊( time
)沖突。 您可以使用curTime
或myTime
作為變量名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.