1

まず最初に、私はこの Python のことに関して信じられないほど新しいので、私を許してください (私は実際には HTML/CSS のような人ですが、分岐しようとしています)。これはおそらく初歩的な質問ですが、私たちはどこかから始めなければなりませんよね?

文字列からランダムな文字を選択し、誰かが任意のキーを押すたびにそれを出力する、非常に基本的な Python プログラムをまとめています。全体は非常に単純で、現在はランダムな文字を返しますが、キーが押されるのを待たず、関数の実行が 1 回完了すると停止します。

import random
letterlist = 'abcd'


def random_letter(letters):
    print ('Press enter for a random letter...')
    print random.choice(letters)

random_letter(letterlist)

出力は次のようになります。

Press enter for a random letter.
'b'
Press enter for a random letter.

(等々...)

私がしなければならないことは何でも random_letter のどこかに収まるべきであることは明らかです。私はグーグルで調べて、raw_inputとmvscrtへの参照をたくさん見つけましたが、何が必要なのか完全にはわかりません. 私の質問の仕方が間違っている可能性は十分にあります。

これを無期限に実行し続けるには、ある種のループが必要であると想定しています。

前もって感謝します!

4

2 に答える 2

1

まず、ユーザーにプロンプ​​トを表示し続けるには、どこかにループが必要です。また、ループにはある種の終了条件も必要です。このループは、次のように関数内に含めることができます。

def random_letter(letters):
    while True:
        x = raw_input('Press enter for a random letter...')
        if x == 'done':
            break
        print random.choice(letters)

random_letter('abcdef')

ループ内でraw_input、ユーザーに何かを入力するように促し、Enter キーを押すことに注意してください。ユーザーdoneが入力してヒットすると、 を使用してループから抜け出しますbreak

別の方法は、既存の関数をループでラップし、関数の外側でプロンプトを処理することです。

def random_letter(letters):
    print random.choice(letters)

while True:
    x = raw_input('Press enter for a random letter...')
    if x == 'done':
        break
    random_letter('abcdef')
于 2013-07-05T18:14:51.667 に答える