0

以下を端末に書き込むpythonプログラムを作成しようとしています:

フレーム 1 -- 読み込み中 フレーム 2 -- 読み込み中。フレーム 3 -- 読み込み中.. フレーム 4 -- 読み込み中... フレーム 5 -- 読み込み中

これはすべて関数になるため、それ自体が繰り返されます。私が抱えている 1 つの問題は、ドットが 3 になった後にドットの数をゼロにリセットする方法がわからないことです。私の現在のコードは以下の通りです。

import pickle
import time
from sys import stdout

stdout.write("Loading")
def loaddot():
    stdout.write(".")
    time.sleep(.5)
    loaddot()
loaddot()
4

3 に答える 3

1

これが私の試みです:

import time
from sys import stdout

def loaddot():
    stdout.write("."*(dots%3 + 1))
    time.sleep(.5)

dots = 0    
while(True):
    dots += 1
    stdout.write("Loading")
    loaddot()
    stdout.flush()
    print

Pythonでそれを行うより良い方法があると思います。私はその言語をあまり使ったことがありませんが、これは私が知っていることと他の言語での経験から来ています。

于 2013-10-31T21:32:46.677 に答える
0

このようなことを行うには、実際には curses ライブラリを使用する必要があります。画面をクリアしたり、文字をバックスペースしたりするためのいくつかのハックがありますが、curses の UI 機能に匹敵するものはありません。

http://docs.python.org/2.7/library/curses.html

于 2013-10-31T22:25:08.613 に答える
0

Linux システムを使用している場合は、単に os ライブラリを使用して、画面をクリアする必要があります。

import os
import time

while True:
   for i in range(3):
      print "Loading."<br>
      time.sleep(3)<br>
      os.system("clear")<br>
print "Loading.."<br>
time.sleep(3)<br>
os.system("clear")<br>
print "Loading..."<br>
time.sleep(3)<br>
os.system("clear")<br>
于 2013-10-31T21:45:28.617 に答える