2017-04-19 68 views
-6
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 

如果在我的代码的底部应该把我赶出循环的,但我被困在一个无限循环。帮助?为什么我while循环不会停止?

(分配,2016)花絮分配|治疗分配导演:沃尔特·希尔编剧:沃尔特·希尔,丹尼斯·哈米尔主演:金晟 - 匈奴主演玄彬,柳海真,金柱赫韩国设立了2016详细信息,同时...

+4

您在每次调用to' check_xy_data'开始复位'COUNT'。 – user2357112

+2

尝试打印,您希望控制破... – kabanus

+1

通常情况下,在Python ALL_CAPS标识符指示常数变量。用它们改变你并不是很酷。 –

回答

2

试试这个变化:

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

def check_xy_data():     

    global COUNT 

随着COUNT内check_xy_data,将其重新设置为0,在每次调用。它在5-6范围内。这是不正确的,这样你就可以永远离开循环。

需要注意的是微不足道的调试技能就会发现这一点:只要坚持一个打印声明您测试循环条件前,看什么值。请使用下一次...... :-)

+0

非常感谢你。 –