2016-07-18 4 views
-10

私の関数では、return文の後にraw_inputを入力してから、私の関数を呼び出します。関数を呼び出すと、raw_inputは完全に無視され、return文だけが機能します。私のreturnステートメントは、Pythonの関数内の残りのコードを無視するのはなぜですか?

def game(): 
     #This selects 5 community cards from the pick_community function 
     community = pick_community(5) 
     card_4 = community[3] 
     card_5 = community[4] 
     first_3 = community[0:3] 
     return first_3 

     river = raw_input("If you are done with the round hit enter:") 
     try: 
      if river =="": 
       return card_4 
     except: 
      print "Dont cheat man" 
      exit() 
+2

なぜあなたはそこに 'return'を入れましたか?あなたは関数を返すように言った* –

+5

それは 'return'がすることだからです。 –

+0

すべての関数は最初の 'return'まで実行されます。 – Psytho

答えて

2

すなわち:

return first_3 

に戻り、したがって機能を終了します。 残りのコードは無視されます。なぜなら、あなたは決して過去を逃してしまうからです。

3

return文は関数の外に出るので、あなたが最初の3つの値を返し、その後、あなたがyieldを使用してそれを行うことができ、コードに続けたい場合は、コードの残りの部分は文句を言わない

関連する問題