2016-09-25 7 views
-1

私はあなたの前提(あなたの議論をサポートする文章)と結論を使って引数を作成できるようにします。ユーザーが最初のものの後に追加の施設を追加したい場合は、プログラムが質問を出す(はい/いいえ)ようにします。はい - >施設:____、いいえ - >結論:____。問題は、追加の敷地内の質問(または何か)のために私はnoを書くことができ、それはその入力を取り、別の建物を作るだろうということです。私のwhileループでisalpha()メソッドを正しく使用していますか(Python)?

ありがとうございました!

print("Welcome to the argument-validity test!")  

def premises_conclusion(): 

    premises_1 = raw_input("Premises: ") 
    premises_qstn = raw_input("Would you like an additional premises(yes/no)? ") 
    additional_premises = raw_input("Premises: ") 

    while premises_qstn.isalpha(): 

     additional_premises = raw_input("Premises: ") 

     if premises_qstn == 'yes': 
      additional_premises = raw_input("Premises: ") 

     elif premises_qstn == "no": 
      break 

     else: 
      print("Please enter yes or no.") 

    conclusion = input("Conclusion: ") 

premises_conclusion() 




# When i use additional_premises in line 7, the while statement asks the additional 
# premises even if i say 'no'. 

# When i delete additional_premises in line 7, the while statement only skips 
# to the conclusion (acts like i said no for yes). No matter what I say it 
# skips to the conclusion. 
+0

ループが有効な応答を返すまで、ユーザーに繰り返し問い合わせる必要がある場合は、このSO q&a、[有効な応答が得られるまで入力を求める](http:// stackoverflow。 com/questions/23294658/valid-response-to-they-give-a-valid-responseへの入力を求めるasking)ユーザーの応答を検証する以外はすべてループから削除する必要があります。 – wwii

答えて

1

これらの行は、問題のようだ:

premises_qstn = raw_input("Would you like an additional premises(yes/no)? ") 
additional_premises = raw_input("Premises: ") 

それはあなたが追加の施設をかどうかを確認するが、すぐよりどんなに何のために尋ねる前に入力(premises_qstn)をチェックしません。

次に、whileループ内の最初の行は、再び施設を要求したが、elif premises_qstn == "no":の条件を破るループはまだ確認されていません。

+0

私は間違いを確認するのを忘れてしまいました。申し訳ありません、それについては、additional_premisesの繰り返しです。ありがとう –

関連する問題