1

文字列の文字を 1 つずつ入力するスクリプトを作成したい

def autotype(info):
    count = len(info) #Countign number of letters of the string
    splitlist = list(info) 
    i = int(count) #getting an error on this line! it accept i=int(0) but my loop doesnt work because of this
    while i>0:
        sys.stdout.write(splitlist[i])
        time.sleep(0.2)
        i -= 1

info = str("hello world")
autotype(info)

エラーは次のとおりです: リスト インデックスが範囲外です。どうすれば修正できますか?

4

7 に答える 7

0

一義的に、しかし簡潔に:

import time
import sys

autotype = lambda instr:map((lambda ch:(sys.stdout.write(ch), time.sleep(0.2))), instr)

autotype("hello world")

上記のコードの主な問題は、戻り値を気にしない場合、タプルを使用して 2 つの関数をシーケンスすることは通常ではないことです。

于 2013-07-22T17:48:53.110 に答える