2017-04-19 102 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

非常感謝你。 –