[英]Returns none when doing a while loop in python
無需獲得相同數字即可獲得最高分的游戲。 在課堂上將此作為任務完成,並且在運行while循環時,您會得到打印的位,然后在下一行None
上進行打印。 請幫助,因為我們A級課程的任何人都無法幫助,老師也無法找出問題出在哪里。
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)
只需從輸入中刪除“打印”即可擺脫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("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)
最后,您不會在詢問用戶是否要再試之前打印出分數,這似乎很奇怪,尤其是在第一個循環中。 您可以將打印語句移到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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.