为什么我的while循环不会停止?

时间:2017-04-19 18:14:42

标签: python while-loop do-while

RANDOM_COR=random.randrange(5,6)

def check_xy_data():                   

    global COUNT
    COUNT=0

    input_xy=input("input(x,y) : ")

    think_xy=list(map(int,input_xy.split(",")))

    if(random_array[think_xy[0]][think_xy[1]] == "C"):
        screen_array[think_xy[0]][think_xy[1]] = "O"
        COUNT=COUNT+1
    else:
        screen_array[think_xy[0]][think_xy[1]] = "X"



def main():

    make_intro()

    init_screen_array ()
    init_random_array ()

    make_random_num(RANDOM_COR)


    while(True):
        check_xy_data()

        draw_outline_start(TOTAL_COL_NUM//2)

        draw_out_rowline(TOTAL_COL_NUM//2, "Input : ")
        draw_out_rowline(TOTAL_COL_NUM//2, "Correct : ")
        draw_out_rowline(TOTAL_COL_NUM//2, "Error : ")
        draw_out_rowline(TOTAL_COL_NUM//2, "Total : ")

        draw_outline_mid(TOTAL_COL_NUM//2)
        if(COUNT==RANDOM_COR-1):
            break

我的代码底部的 if 应该让我离开 while 循环,但我陷入无限循环。帮助

(作业,2016)예고편作业| 어싸인먼트감독:월터힐각본:월터힐,데니스해밀연연:김성훈출연현빈,유해진,김주혁개봉2016한국상세보기그간...

1 个答案:

答案 0 :(得分:2)

尝试此更改:

RANDOM_COR=random.randrange(5,6)
COUNT = 0

def check_xy_data():                   

    global COUNT

check_xy_data 中使用COUNT,您可以在每次通话时将其设置为0。它永远不会超过1.您的检查是否在5-6范围内。这绝不是真的,所以你永远不能离开循环。

请注意,琐碎的调试技巧会发现这一点:在测试循环条件之前,只需粘贴 print 语句,看看值是什么。下次使用......: - )

相关问题