1

これまでに2つの同様の関数 functiondef A()と functionを作成しましたが、機能しますが、ユーザーが functionでデータの書き込みを終了した後、終了するか開始するかを選択できるdef B()ようにしたいと思います。B()関数にデータを書き込んで再処理するA()

そのため、理論的には、ユーザーは、(たとえば)ENTERプログラムを終了する前に、このプロセスを 100 万回繰り返すことができます。

どうすればそれを達成できますか?

def A(parameters):
    content...
    ...
    ...

def B(parameters):
    content...
    ...
    ...

Press R to repeat with def A (parameters), press Q to quit:
4

2 に答える 2

1

どうですか:

i = "r"
while i != "q":
    A()
    B()
    i = raw_input("Press Q to quit, press any other key to repeat with def A (parameters):").lower().strip()
于 2012-11-23T09:28:26.367 に答える
1

A()withの機能をマージしB()てフラグを渡す方がおそらく良いでしょうが、ユーザーがヒットするまでA()呼び出すことができるソリューションを次に示します。B()RETURN

def A():
    print 'Processing in A!'

def B():

    choice = ''
    print 'Processing in B!'

    while choice.lower().strip() != 'r':    
        choice = raw_input("Press R to repeat, RETURN to exit: ").lower().strip()            
        if choice == '':
            return False
        if choice  == 'r':
            return True

while B():
    A()

出力:

Processing in B!
Press R to repeat, RETURN to exit: R
Processing in A!
Processing in B!
Press R to repeat, RETURN to exit: r
Processing in A!
Processing in B!
Press R to repeat, RETURN to exit: notR
Press R to repeat, RETURN to exit: 

いくつかのメモ:

lower()ユーザーが入力したものはすべて小文字として返し、同じようrR扱われます。

strip()入力から先頭または末尾の空白を削除します。

于 2012-11-23T09:17:48.593 に答える