2017-12-04 28 views
0

私は、コインを反転して最長の一連の頭や尾を返すプログラムをPythonで作成しようとしています。それは、コインを何回フリップするかをユーザに尋ねる。何らかの理由で私のプログラムが実行されていないため、私は理由を理解できません。私は、なぜ「フリップの数」と「文字列として」をユーザに要求していないのか分かりません。なぜこのプログラムは実行されていません(Python)

import random 

def flip(): 
    flipValue = random.randint(1,2) 
    if flipValue == 1: 
     side = "Heads" 
    else: 
     side = "Tails" 
    return side 

def nStreak(): 
    number = int(input("Number of flips: ")) 
    chars = int(input("As a character string: ")) 
    series = 0 
    heads = 0 
    tails = 0 
    longest_h = 0 
    longest_t = 0 
    while series != number: 
     side = flip() 
     series += 1 
     if side == "Heads": 
      heads += 1 
      tails = 0 
      if heads == chars: 
       longest_h += 1 
       heads = 0 
     if side == "Tails": 
      tails += 1 
      heads = 0 
      if tails == chars: 
       longest_t += 1 
       tails = 0 
    print("Number of heads streaks: ", longest_h) 
    print("Number of tails streaks: ", longest_t) 

実行すると何も得られません。

+0

関数を呼び出さなかった –

+0

2つのメソッドが定義されていますが、どちらも呼び出されていません。スクリプトはメソッド定義を実行して終了します。 –

+0

defを使わずにこのプログラムを書くにはどうすればいいですか? def flip()とdef nStreak()を取り除きたいのであれば?これは課題のためであり、私の先生はdefを使用する方法をまだ教えていないので、私はそれをとにかく追加しましたが、現在は後悔しています – user8930130

答えて

0

最後の行で関数を呼び出す必要があります。

nStreak()

さもないと、それは、コードを実行されません。

0

スクリプトの一番下には、nStreak()と記載されていません。

関連する問題