for i in xrange(5):
abc()
time.sleep(3)
print('?~~~~~')
print('~?~~~~')
print('~~?~~~')
print('~~~?~~')
print('~~~~?~')
print('~~~~~?')
print('?~~~~~')
print('~?~~~~')
print('~~?~~~')
print('~~~?~~')
print('~~~~?~')
print('~~~~~?')
答案 0 :(得分:0)
在这个答案中,我假设您想在计时器前进的同时沿着线移动问号,两者间隔三秒钟。
这段代码几乎需要完全重写。不要担心,这不是太糟糕,而且很容易修复。
这里首先出现的问题是您没有为time.sleep()
导入时间模块。为此,您只需添加代码import time
的顶部即可。其次,您不需要在代码中使用abs()
,而Python也不理解它。第三,当你使用for循环或任何循环时,它会执行整个迭代,然后返回到下一个的开始,所以你的计时器只是每次打印时打印所有这些。它不会等待它流动,它只是每隔三秒打印一个波浪块。
在你当前的级别,我会使用一个简单的if和一个变量来测试它是什么迭代,因为你可能还不知道如何拼接。这是:
import time # importing time so time.sleep() works properly
iteration = 1 # Code to tell where the question mark is
for i in xrange(5):
time.sleep(3)
if iteration == 1: # asking if the variable is 1
print('?~~~~~') # printing this
iteration += 1 # adding one to the iteration variable
elif iteration == 2:
print('~?~~~~')
iteration += 1
elif iteration == 3:
print('~~?~~~')
iteration += 1
elif iteration == 4:
print('~~~?~~')
iteration += 1
elif iteration == 5:
print('~~~~?~')
iteration += 1
elif iteration == 6:
print('~~~~~?')
iteration = 1
以下是使用拼接的版本
import time
iteration = 1
list = list('~~~~~~')
old_list = list
for i in xrange(5):
time.sleep(3)
list[iteration-1] = '?'
print("".join(list))
list = list('~~~~~~')
if iteration == 6:
iteration = 1
else:
iteration += 1
如果您需要教程,我建议您使用http://tutorialspoint.com/python/
否则,最初的Python教程很棒:https://docs.python.org/2/tutorial/