2017-03-06 70 views
0

獲得最高分數而不獲得相同數字的遊戲。這是在課堂上作爲一項任務,並通過while循環運行時獲得打印位,然後在下一行None。請,因爲沒有人在我們的A級賽事,也沒有老師會在哪裏工作就已經錯了幫助..在Python中執行while循環時不返回任何值

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

刪除「輸入」內的'print'。 –

+3

在你的代碼段中也沒有'return'。什麼是返回'無'?你的意思是'分數'是'無'? –

+1

你只有一次擲骰子。爲了你的緣故,我希望這不是你的老師正在看的代碼。 – 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) 

最後,你不打印出來的分數,詢問用戶是否他們想別的去了,這似乎不可思議尤其是在之前第一個循環。您可以將您的打印語句移動到其他位置之外:

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)