2017-03-06 14 views
0

同じ数字を取得せずに最高得点を得るためのゲーム。これをクラスとしてタスクとして実行し、whileループを実行すると、印刷されたビットを次の行Noneに取得します。それは間違った場所私たちのAレベルのクラスでも先生で誰が出て働くことができなかったよう助けてください..Pythonでwhileループを実行しているときにnoneを返します

from random import randint 
game = True 
score = 0 

die1 = randint(1,6) 
die2 = randint(1,6) 

while game == True: 
    if die1 == die2: 
     score = 0 
     game = False 
    else: 
     score = score + die1 + die2 
     goagain = input(print("do you want another go? Y or N")) 
     if goagain == "N" or goagain == "n": 
      game = False 
     else: 
      print("your current score is:" , score) 

print("game over!! \nYour score is:" , score) 
+4

あなたの 'input'の中の' print'を削除してください。 –

+3

あなたのコードには 'return'もありません。 'None'を返すのは何ですか? 'score'は' None'ですか? –

+1

あなたはサイコロを1回だけ転がしています。あなたのために、私はこれがあなたの先生が見ているコードではないことを願っています。おかげで、Rawing。 – chepner

答えて

1

だけでなしを取り除くために、入力の中から「印刷」削除:

from random import randint 
game = True 
score = 0 

die1 = randint(1,6) 
die2 = randint(1,6) 

while game == True: 
    if die1 == die2: 
     score = 0 
     game = False 
    else: 
     score = score + die1 + die2 
     goagain = input("do you want another go? Y or N") 
     if goagain == "N" or goagain == "n": 
      game = False 
     else: 
      print("your current score is:" , score) 

print("game over!! \nYour score is:" , score) 

しかし、私はこれがあなたが望むものだとは思わない - あなたはダイを再登録しないので、ユーザーが止まるまで常に同じ数字をスコアに追加するだけです。彼らは別の、特に上の奇妙思われる、行きたい場合は、ユーザーに尋ねる前に、あなたはスコアを印刷しません

from random import randint 
game = True 
score = 0 

while game == True: 
    die1 = randint(1,6) 
    die2 = randint(1,6) 
    if die1 == die2: 
     score = 0 
     game = False 
    else: 
     score = score + die1 + die2 
     goagain = input("do you want another go? Y or N") 
     if goagain == "N" or goagain == "n": 
      game = False 
     else: 
      print("your current score is:" , score) 

print("game over!! \nYour score is:" , score) 

を最後に:私はあなたがこのように、ループの内側に金型ロールを入れたいと思います最初のループ。あなたはあなたのprintステートメントをelseの外に移動することができます:

from random import randint 
game = True 
score = 0 

while game == True: 
    die1 = randint(1,6) 
    die2 = randint(1,6) 
    if die1 == die2: 
     score = 0 
     game = False 
    else: 
     score = score + die1 + die2 
     print("your current score is:" , score) 
     goagain = input("do you want another go? Y or N") 
     if goagain == "N" or goagain == "n": 
      game = False 

print("game over!! \nYour score is:" , score) 
関連する問題