2017-04-30 26 views
1

を一覧表示する追加機能を繰り返すAプロダクションを記録し、プロダクションをリストに追加するプログラム。私の目的は、「いいえ」を選択するまでプロダクションを追加するようユーザーに繰り返しプロンプトを表示することです。その後、プログラムは次のフェーズに移行する必要があります。私は、Pythonに新しいですし、現在私が書いて(または書き込みしようとして)いますPythonの2</p> <p>の最新バージョンを使用して...</p> <p>を、私はこれを説明するにはどうすればよい

これまでは、ユーザーにプロダクションをログに記録するかどうかを尋ねる機能を定義してから、プロダクション名、説明、および結果を尋ねました。次いで、それぞれのリストは、ユーザの入力によって更新される。

私が失敗しているのは、別のプロダクションを追加するかどうかをユーザーに尋ねることができず、「いいえ」を選択するとループを閉じることができないということです。あなたが提供できるすべての助けを事前に

locus = raw_input('Enter location where statement compiled: ') 
colleague = raw_input('Enter name of corroborating officer: ') 
productions = [] 
descriptions = [] 
result = [] 

def logger(): 
    log = raw_input('Would you like to log a production? Y or N: ') 
    if log == 'Y' or 'y': 
     new_production = raw_input('ENTER NAME OF PRODUCTION: ') 
     productions.append(new_production) 
     new_description = raw_input('ENTER DESCRIPTION OF PRODUCTION: ') 
     descriptions.append(new_description) 
     new_result = raw_input('ENTER SUMMARY OF CONTENTS FOUND: ') 
     result.append(new_result) 
     print new_production 
     print new_description 
     print new_result  
     return True 
    else: 
     return False 

logger() 

while True: 
    finished = raw_input('Do you want to submit another? Y or N: ') 
    if finished == 'Y' or 'y': 
     logger() 
    else: 
     return False 

ありがとう:

は、ここに私のコードです。

答えて

0

あなたはこのような何かを試みることができる:

while True: 
    inp = raw_input('Would you like to enter a new log? Y or N: ') 
    if inp.lower() == "y": 
     # do your required functions to create a log in here 
     # or you could call logger(), as long as you modify it appropriately 
     new_production = raw_input('ENTER NAME OF PRODUCTION: ') 
     ... 
     print new_description 
     print new_result  
    elif inp.lower() == "n": 
     break 
    else: 
     print "invalid response" 

はあなたがそれのいずれかの説明をご希望の場合、私に教えてください!

+0

これは完璧に機能しているようですが、私が後にしたことです - 私が間違っていた箇所や他のアドバイスを私の上にコーディングしてフィードバックしてもらえますか?ありがとう。 –

+0

あなたのループを書いていたやり方は、それほど簡潔ではないかもしれません。また、ループの実行を停止しようとすると、 '中断 'する必要があります。以前は 'return False'を行っていたようですが、関数だけが値を返すことができます。これはループに影響を与えません。それ以外のコードはかなり良いです!私がお手伝いできることをうれしく思っています。あなたが探していたものなら、正しい答え(緑のダニ)をマークしてください! – Windmill

関連する問題

 関連する問題