在python中执行while循环时返回none

在python中执行while循环时返回none,python,syntax,while-loop,Python,Syntax,While Loop,在没有相同数字的情况下获得最高分数的游戏。这是在课堂上作为一项任务完成的,当运行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

在没有相同数字的情况下获得最高分数的游戏。这是在课堂上作为一项任务完成的,当运行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)
只需删除输入中的“打印”即可删除“无”:

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)

删除
输入的
内部的
打印
。代码中也没有
返回
。返回的是什么
None
?你的意思是
分数
?并且你只掷了一次骰子。看在你的份上,我希望这不是你老师正在看的代码。谢谢,拉温。删除输入中的打印已成功。非常感谢!!