2016-12-07 7 views
-2

2つの入力の合計が100に等しくない場合でも入力を継続するために再帰を使用する必要がありますが、試行するたびに、 1回入力した後に入力すると、16進数の値を返します。python3クラスメソッドへの再帰の実装

class Z: 
    def __init__(self, probabilityX = 0, probabilityY = 0): 
     self.probabilityX = "" 
     self.probabilityY = "" 
    def getProbability(self): 
     print(self.probabilityX, self.probabilityY) 
    def input(self): 
     self.probabilityX = int(input("Enter probability of x:")) 
     self.probabilityY = int(input("Enter probability of y:")) 
     if self.probabilityX + self.probabilityY != 100: 
      input(self) 

def main(): 
    purs = Z() 
    purs.input() 
    purs.getProbability() 
main() 

ご協力いただきありがとうございます。 編集:固定タイプミス

+2

'input(self)'ではなく、 'self.input()'でなければなりません。 – zondo

+0

[有効な応答が得られるまでユーザーに入力を求める](http://stackoverflow.com/questions/23294658/asking-the-user-for-input-until-they-give-a-valid-レスポンス) – wwii

答えて

0

物事のカップル:

  1. まず第一に、これらのクラスメソッドは、その用語は、あなたが混同してはならないという特定の意味を持っている、ではありません。ここでは単純な方法を扱っています。
  2. (廃止)両input呼び出しが閉じ括弧が欠落しています

    self.probabilityX = int(input("Enter probability of x:") 
    self.probabilityY = int(input("Enter probability of y:") 
    

    は、代わりに次のようになります。

    self.probabilityX = int(input("Enter probability of x:")) 
    self.probabilityY = int(input("Enter probability of y:")) 
    

    私はあなたが

  3. :-)質問を投稿するとき、彼らはタイプミスです推測しています
  4. input(self)を電話するのはあなたの考えをしません。 inputは組み込み関数で、プロンプトとしてselfを指定して呼び出します。あなた再びself.input()を使用して(そしておそらく混乱を回避するためにinput_probabilitiesに名前を変更する必要があります

  5. (廃止)purs.getProbabilityPそれはpurs.getProbability()で、スペルミスである

  6. あなた__init__はあまり意味がありません:。。

    def __init__(self, probabilityX = 0, probabilityY = 0): 
        self.probabilityX = "" 
        self.probabilityY = "" 
    

    私はあなたがそれを行う必要があり、あなたがprobability(X|Y)のデフォルト引数を提供する理由はわからないと、対応するインスタンスにそれらを割り当てない属性:。

    def __init__(self, probabilityX = 0, probabilityY = 0): 
        self.probabilityX = probabilityX 
        self.probabilityY = probabilityY 
    

は、最終的な点として、私は、再帰を使用しないことをお勧めしたいです。 whileループが効果的にトリックを行います。

+0

Jimさん、ありがとうございました! – mikecal7

関連する問題