Python停在打印语句

2024-05-14 18:19:00 发布

您现在位置:Python中文网/ 问答频道 /正文

while Winner == "":
    while First_Player_Turn == "Y":
        while rtd != "":
            try:
                rtd = input("{} press enter to roll the dice".format(First_Player))
                if rtd == "":
                    dice = random.randint(1, 6)
                    First_Player_Position = dice + First_Player_Position
                    steps_left = 50 - First_Player_Position
                    print("{} needs {} steps to finish".format(First_Player, steps_left))
                    if First_Player_Position >= 50:
                        Winner = "Y"
                    First_Player_Turn = "N"
                    Second_Player_Turn = "Y"
                    print("Test to see if this is printed - It is but not in wingide")
                    continue
             except:
                    print("Please press enter")                    
    while Second_Player_Turn == "Y":

我已经对此进行了多次测试,发现wingide没有显示被测试的部分,但是普通Python会显示。我想发生的是当它通过First_Player_Turn循环转到Second_Player_Turn循环时。你知道吗


Tags: toifpositionstepsdiceturnfirstpress
2条回答

不显示字符串变量的初始化。您的程序从以下内容开始:

while Winner == "":
    while First_Player_Turn == "Y":
        while rtd != "":
  • 如果Winner被初始化为"",则外部循环将运行。你知道吗
  • 如果First_Player_Turn被初始化为"Y",中间的循环将运行。你知道吗
  • 如果rtd未初始化为"",则内部循环将运行。你知道吗

因为你还没有展示所有三个变量的初始化,你显然是在依赖魔法让它们从正确的值开始。因为这是不可能的,所以循环中没有一个循环的几率将运行。你知道吗

我自己也弄明白了,rtd和其他rtd有冲突,很抱歉浪费了你的时间。你知道吗

相关问题 更多 >

    热门问题