簡體   English   中英

在python中執行while循環時不返回任何內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM