2017-02-07 1 views
0

私はここで、最後の結果を返すように関連するクエリを持っている私のコードです:私はこれを実行するとPythonのクエリ(宝くじプロジェクト)

import random 

    def Step_1(): 
     Start_Game = raw_input("Enter \'Start' to continue \n") 
     if Start_Game == 'start':        
      print "Let the Lottery begin" 
     else: 
      return Step_1() 
    #------------------------------------------------------------------- 
    def Step_2(): 
      random_list = [] 
      for i in range(10): 
       while len(random_list) < 6: 
        random_number = random.randint(1,59) 
        while random_number not in random_list: 
         random_list.append(random_number) 
         print random_list 
Step_1() 
Step_2() 

それは私に、以下の結果を与え、

Enter 'Start' to continue 
start 
Let the Lottery begin 
[56] 
[56, 20] 
[56, 20, 32] 
[56, 20, 32, 2] 
[56, 20, 32, 2, 23] 
[56, 20, 32, 2, 23, 30] 

しかし、私は最後の結果を表示し、前の5を破棄することができます。

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

答えて

0

Step_2関数はリストの最終バージョンのみを出力するようにするには、printステートメントをループ外に移動するだけです(インデントしません)。しかし、実際に必要なループより2つ多いループがあるので、もう少し単純化することができます:

def Step_2(): 
    random_list = [] 
    while len(random_list) < 6:  # the for loop didn't do anything useful, delete it 
     random_number = random.randint(1,59) 
     if random_number not in random_list:  # use an if instead of another while loop 
      random_list.append(random_number) 
    print random_list  # unindent this line so it only prints when the loop is done 
+0

多くのあなたの助けに感謝!!!私は最初のことを考えなかった理由を完全にうまく動作します:))! –

関連する問題